首页 > 编程语言 >Python回归、聚类、相关分析上海公租房租金满意度影响因素数据可视化

Python回归、聚类、相关分析上海公租房租金满意度影响因素数据可视化

时间:2024-07-17 20:32:13浏览次数:19  
标签:租房 分析 满意度 Python 租金 通勤 可视化 聚类

全文链接:https://tecdat.cn/?p=37013

原文出处:拓端数据部落公众号

随着城市化进程的加速,住房问题日益成为城市居民关注的焦点。公租房作为政府为解决中低收入家庭住房困难而推出的一种重要住房保障形式,其租金水平、居住条件及租住体验直接关系到广大租户的切身利益和生活质量。因此,深入研究公租房租金满意度的影响因素,不仅有助于提升公租房的管理和服务水平,还能为政府制定更加科学合理的住房政策提供有力支持。

近年来,数据分析与可视化技术在社会科学领域的应用日益广泛,为复杂问题的研究提供了强有力的工具。Python作为一种功能强大的编程语言,凭借其丰富的数据处理库和可视化工具,成为了数据分析领域的首选工具之一。本文旨在利用Python的回归、聚类及相关分析等方法,对上海地区公租房租金满意度的影响因素进行深入探讨,并通过数据可视化的方式直观展示分析结果,以期为相关政策制定者和管理者提供有价值的参考。

这份数据集涵盖了上海地区公租房租户的多方面信息,既有个人基本信息、工作与生活状况,也有对租住体验及政策看法的详细调查。

在这里插入图片描述

描述统计分析


df = pd.read_excel(file_path)

# 显示数据的前几行以了解其结构
df.head()

根据提供的数据,我们可以从以下几个方面进行分析:

  1. 居住空间与通勤成本的关联:分析公租房的分布特点与就业热点区域之间的空间关系,评估不同居住位置对通勤时间、交通费用等通勤成本的影响。
  2. 交通设施与通勤效率:考察公共交通系统(地铁、公交、共享单车等)的覆盖程度、运营效率及对群体通勤的便利性,探讨如何通过优化交通网络降低通勤成本。
  3. 政策效应评估:分析公租房政策在缓解住房压力的同时,对其通勤成本产生的直接或间接影响,评估政策的有效性与改进空间。
  4. 生活空间优化建议:基于上述分析,从城市住房政策调整、公租房布局优化、交通基础设施建设与升级等多个维度,提出降低外来群体通勤成本、提升其生活品质的具体建议。

我将首先创建饼图,然后逐步进行其他类型的图表。

python复制
# 选择适合绘制饼图的分类变量 - 例如“您的性别.”
gender_counts = df['您的性别.'].value_counts()

# 绘制饼图
plt.figure(figsize=(8, 8))
plt.pie(gender_counts, labels=gender_counts.index, autopct='%1.1f%%', startangle=140, colors=normalized_colors[:2])
plt.title('性别分布')
plt.show()

分析结果

  1. 饼图 - 性别分布

    • 图表展示了调查对象中性别的分布情况。

接下来,创建环状直方图来展示数值变量的分布。

在这里插入图片描述

分析结果

  1. 环状直方图 - 平均月收入分布

    • 图表展示了调查对象的平均月收入分布情况,每个区间的宽度代表该收入区间的人数。

在这里插入图片描述

接下来,进行数据分析。

1. 居住空间与通勤成本的关联分析

分析公租房的分布特点与就业热点区域之间的空间关系。
这里我们使用“您的工作所在地”和“您的平均月收入”作为代表。

在这里插入图片描述

在这里插入图片描述

分析结果

  1. 居住空间与通勤成本的关联

    • 工作所在地分布:图表显示了不同工作地点的人数分布。可以看出,某些地区的工作人数较多,这可能与公租房的分布有关。
    • 平均月收入分布:此图展示了不同收入水平的人数分布。收入水平可能与通勤成本相关,因为不同的收入群体可能选择不同的交通方式和居住区域。

接下来,继续分析交通设施与通勤效率,以及政策效应评估的部分。

2. 交通设施与通勤效率

分析公共交通系统的覆盖程度、运营效率及对群体通勤的便利性
这里我们使用“您平时常使用的主要交通工具是”作为代表


transport_modes = df[['您平时常使用的主要交通工具是.1', '您平时常使用的主要交通工具是.2', '您平时常使用的主要交通工具是.3']]

# 统计各种交通工具的使用频率
transport_counts = transport_modes.apply(pd.Series.value_counts).fillna(0)
transport_counts = transport_counts.sum(axis=1)

# 绘制交通工具使用频率的分布图
plt.figure(figsize=(10, 6))
sns.barplot(x=transport_counts.values, y=transport_counts.index)
plt.title('主要交通工具使用频率')
plt.xlabel('人数')
plt.ylabel('交通工具')
plt.show()

在这里插入图片描述

分析结果

-   **主要交通工具使用频率**:图表展示了受访者主要使用的交通工具及其使用频率。可以看出,地铁是最受欢迎的交通工具,其次是出租车和私家车。这表明地铁在通勤效率上可能具有明显优势,而其他交通方式则根据个人偏好和实际情况有所不同。

接下来,进行政策效应评估的分析。

3. 政策效应评估

分析公租房政策对通勤成本的影响,这里我们使用“您对公租房租住体验满意吗.租金”作为代表

在这里插入图片描述

分析结果

  1. 政策效应评估

    • 公租房租金满意度:图表展示了受访者对于公租房租金的满意度分布。从图中可以看出,对于公租房租金的满意度呈现一定的分化,有相当一部分人对租金表示不满。这可能反映出公租房政策在租金方面仍有改进空间。

综合以上分析,我们可以得出以下结论和建议:

  1. 居住空间与通勤成本关联紧密:工作地点的分布与公租房的位置选择密切相关,不同居住位置对通勤成本有显著影响。
  2. 优化交通网络降低通勤成本:地铁作为主要的通勤工具,显示了其在通勤效率上的优势。建议进一步优化公共交通网络,特别是地铁线路,以降低通勤成本。
  3. 公租房政策需进一步优化:租金满意度的调查显示,公租房政策在租金方面还有改进的空间。建议对公租房租金政策进行调整,以更好地满足不同收入群体的需求。

这些分析和建议有助于上海实现更加“以人为本”的城市化进程,提升外来群体的生活品质。

相关性分析

变量间关系:探索不同变量之间的相关性,如年龄与婚姻状况、月收入与公租房租金、通勤时间与交通费用等。这有助于揭示变量之间的潜在联系和因果关系。 通勤与居住条件:分析通勤时间、交通费用与居住地点(如工作所在地、公租房位置)、房型等变量之间的关系,了解居住条件对通勤效率的影响。

首先,我将重新处理数据,确保特征和目标变量被正确处理。然后,我将使用相关性分析来探索不同变量之间的相关性。由于数据中存在一些缺失值,我将首先处理这些缺失值,然后构建模型。处理缺失值的常用方法包括删除含有缺失值的行或用某种策略填充缺失值。在这里,我将选择删除含有缺失值的行。

接下来,我将进行以下步骤:

  1. 数据清洗:处理缺失值、异常值和数据类型转换。
  2. 特征工程:提取和构造与变量间关系相关的特征。
  3. 相关性分析:使用相关性分析来探索不同变量之间的相关性。
  4. 结果可视化:展示相关性分析的结果。

在这里插入图片描述

相关性分析的结果已经可视化。从热图中可以看出不同变量之间的相关性系数。相关性系数的范围是-1到1,其中1表示完全正相关,-1表示完全负相关,0表示没有相关性。

回归分析

  • 满意度影响因素:分析哪些因素显著影响租住者对公租房的满意度,如房型、租金、交通便利性等。这有助于识别改进公租房管理和服务的关键领域。

首先,重新处理数据,确保特征和目标变量被正确处理。然后,将使用多元线性回归模型来分析影响租住者对公租房满意度的因素。由于数据中存在一些缺失值,我将首先处理这些缺失值,然后构建模型。处理缺失值的常用方法包括删除含有缺失值的行或用某种策略填充缺失值。在这里,我将选择删除含有缺失值的行。

接下来,进行以下步骤:

  1. 数据清洗:处理缺失值、异常值和数据类型转换。
  2. 特征工程:提取和构造与租住者满意度相关的特征。
  3. 构建模型:使用多元线性回归模型分析影响租住者对公租房满意度的因素。
  4. 结果可视化:展示模型的结果和误差。
python复制
# 数据清洗和特征工程

# 1. 处理收入水平,将其转换为数值类型
data['收入水平'] = data['您的平均月收入是.'].apply(process_income)

# 2. 房型编码
data['房型编码'] = label_encoder.fit_transform(data['您租住的公租房房型是.'])

# 3. 家庭结构特征:家庭人数、工作人数、就学人数、退休人数
data['工作人数'] = data['您在上海居住的家庭结构是.其中工作人数..']
data['就学人数'] = data['您在上海居住的家庭结构是.其中就学人数..']
data['退休人数'] = data['您在上海居住的家庭结构是.其中退休人数..']

# 4. 满意度处理:将满意度转换为数值类型(这里简化处理,实际应用中可能需要更复杂的转换方式)
def process_satisfaction(satisfaction_str):
    satisfaction_mapping = {'非常满意': 5, '满意': 4, '一般': 3, '不满意': 2, '非常不满意': 1}
    return satisfaction_mapping.get(satisfaction_str, None)

在这里插入图片描述

对于租住者满意度模型:

  • 均方误差(MSE): 1.094
  • 决定系数(R²): 0.196
  • 模型参数: [-0.228, 0.014, 0.522, -0.500, 0.491, -0.0001]
  • 截距: 2.990

模型的评估指标显示决定系数(R²)为0.196,这表明模型只解释了约19.6%的目标变量的变异。

KMeans聚类分析

首先,我将选择一些可能适合进行聚类的变量,然后使用KMeans算法进行聚类分析。最后,我将可视化聚类结果,并输出模型参数。

由于数据集较大,包含多个变量,我将选择几个代表性的变量进行聚类分析。

在这里插入图片描述

KMeans聚类分析结果

聚类结果可视化

从上图中,我们可以看到KMeans聚类分析的结果。图中的点代表不同的数据点,颜色表示它们所属的聚类。可以看出,数据被分为三个不同的聚类。

模型参数和误差

  • 模型参数(聚类中心) :

    • 聚类1:[2.5, 0.95, 2.6, 13.6]
    • 聚类2:[2.45, 0.73, 2.91, 2.82]
    • 聚类3:[2.05, 0.84, 2.58, 8.00]
  • 模型误差(Inertia) :1345.55

分析

  • 聚类中心代表了每个聚类的平均特征值,这些值可以用来描述每个聚类的特征。
  • 误差值(Inertia)表示模型在聚类过程中的总误差,较小的误差值通常意味着更好的聚类效果。

总结

通过KMeans聚类分析,我们可以看到数据在“平均月收入”和“工作所在地”两个维度上的聚类情况。不同的聚类可能代表了不同的收入和工作地点特征的人群。这有助于我们更好地理解数据中的不同群体。

标签:租房,分析,满意度,Python,租金,通勤,可视化,聚类
From: https://www.cnblogs.com/tecdat/p/18308217

相关文章

  • Python对商店数据进行lstm和xgboost销售量时间序列建模预测分析|附代码数据
    全文下载链接:http://tecdat.cn/?p=17748最近我们被客户要求撰写关于销售量时间序列建模的研究报告,包括一些图形和统计输出。在本文中,在数据科学学习之旅中,我经常处理日常工作中的时间序列数据集,并据此做出预测我将通过以下步骤:探索性数据分析(EDA)问题定义(我们要解决什么)变量......
  • python环境配置及基础学习
    python环境配置及基础学习Miniconda安装及使用创建环境condacreate-nnamepython=3.10进入环境condaactivatename退出环境condadeactivateVSCode安装安装成功后,在左边“extensions”搜索Chinese语音包点击install,按照提示重启VSCode在左边“拓展”搜索python,安装......
  • R语言贝叶斯MCMC:用rstan建立线性回归模型分析汽车数据和可视化诊断|附代码数据
    全文链接 http://tecdat.cn/?p=23255最近我们被客户要求撰写关于rstan的研究报告,包括一些图形和统计输出。本文将谈论Stan以及如何在R中使用rstan创建Stan模型尽管Stan提供了使用其编程语言的文档和带有例子的用户指南,但对于初学者来说,这可能是很难理解的。StanStan是一种用......
  • 数据分享|逻辑回归、随机森林、SVM支持向量机预测心脏病风险数据和模型诊断可视化|附
    原文链接:http://tecdat.cn/?p=24973最近我们被客户要求撰写关于心脏病的研究报告,包括一些图形和统计输出。世界卫生组织估计全世界每年有1200万人死于心脏病。在美国和其他发达国家,一半的死亡是由于心血管疾病简介心血管疾病的早期预后可以帮助决定改变高危患者的生活方式,从......
  • 企业级环境部署:在 Linux 服务器上如何搭建和部署 Python 环境?
     在大部分企业里,自动化测试框架落地都肯定会集成到Jenkins服务器上做持续集成测试,自动构建以及发送结果到邮箱,实现真正的无人值守测试。不过Jenkins搭建一般都会部署在公司的服务器上,不会在私人电脑里,而服务器大部分都是Linux操作系统的。所以,我们如果要在Linux上的Jenkins服......
  • Python函数基础编写定义
    目录1、函数目的2、函数定义3、函数声明4、函数调用5、函数形参6、函数实参7、函数返回值8、函数的参数类型9、匿名函数1、函数目的函数又叫方法,能减少重复代码的编写,提升代码的复用。函数封装了一定的功能,方便不断使用,可以达到简化代码、重复调用的效果,比如系......
  • python 模拟电力系统
    要模拟一个电力系统,你需要使用Python编写一个程序来建立系统的模型,包括发电机、变压器、输电线路、负载等组件,并模拟它们之间的相互作用。这是一个复杂的任务,通常需要使用数学建模和模拟技术,以便分析电力系统的运行情况。以下是一个简单的示例,展示了如何使用Python模拟电力系......
  • Python电力系统PyPsa
    PyPsa是一款电力系统分析包,其可以进行稳态潮流计算(使用非线性/线性网络方程);线性最优潮流计算(线性网络约束下,计算电厂和储能分布的最小成本,使用线性网络方程);安全约束下线性最优潮流计算全电力/能源系统最小投资成本优化(使用线性网络方程,对发电、储能分布、投资优化)等操作。本文主......
  • 学生成绩预测与分析可视化平台
    一.创作思路在平时办公中,我们往往需要对数据进行各种数据分析与图形可视化成图表,这些操作我们可以采用wps,word等等办公软件,于是我想自己尝试写一个线上的平台,专门实现上传文件,勾选相应的数据,采用Echarts生成图表,将Echars图表生成图表的全部步骤让用户自行选择生成图表,用户可......
  • Python文件与数据处理:掌握I/O操作与序列化的艺术
    在Python编程的世界里,文件操作和数据序列化犹如画家手中的画笔和调色板,是构建强大应用程序不可或缺的工具。本文将深入探讨open()函数的巧妙使用、JSON和pickle模块的序列化魔法,以及os模块在文件系统操作中的关键角色。让我们一同揭开Python文件与数据处理的神秘面纱,掌握I/O操......