两个城市的指标分别为:广州:X1=3001.7、X2=245.9、X3=1001.5、X4=525.1、X5=13381、X6=38568、X7=67116,深圳:X1=2239.4、X2=303.3、X3=478.3、X4=279.3、X5=24940、X6=136071、X7=187300。(1)使用python对两个城市的7个指标绘制两个正态分布检验图对数据的正态性进行直观检验。(2)使用python检验两个城市的7个指标有无显著差异,即检验两组数据的总体方差是否相等,用Levene方差齐性检验。(3)当假定两个城市样本有着相同的方差时,使用python说明这两个城市的7个指标有无显著差异
时间: 2024-02-03 14:02:27 浏览: 76
matplotilb中fig,ax = plt.subplots()的使用
首先需要导入所需的库和数据。假设广州的数据存储在名为“”的DataFrame中,深圳的数据存储在为“sz”的DataFrame中。
``` python
import as pd
import numpy as np
import matplotlib.pyplot plt
import scipy.stats as stats
# 导入
gz = pd.DataFrame({'X1': [3001.7], 'X2': [245.9 'X3': [100.5], 'X': [525.1],
'X': [13381], 'X6': [38568], 'X7': [67116]})
sz = pd.DataFrame({'X1': [2239.4], 'X2': [303.3], 'X3': [478.3], 'X4': [279.3],
'X5': [24940], 'X6': [136071], 'X7': [187300]})
```
接下来,我们可以使用直方图和QQ图对每个城市的指标进行正态性检验。
``` python
# 绘制直方图和QQ图
fig, axs = plt.subplots(7, 2, figsize=(8, 20))
for i, col in enumerate(gz.columns):
# 广州直方图
axs[i, 0].hist(gz[col], bins=10)
axs[i, 0].set_title(col + ' in Guangzhou')
# 广州QQ图
stats.probplot(gz[col], dist="norm", plot=axs[i, 1])
axs[i, 1].set_title(col + ' in Guangzhou')
# 深圳直方图
axs[i, 2].hist(sz[col], bins=10)
axs[i, 2].set_title(col + ' in Shenzhen')
# 深圳QQ图
stats.probplot(sz[col], dist="norm", plot=axs[i, 3])
axs[i, 3].set_title(col + ' in Shenzhen')
plt.tight_layout()
plt.show()
```
这会得到一个包含14幅图的图表,每个指标都有一个直方图和对应的QQ图。通过观察直方图和QQ图,我们可以看出每个指标是否符合正态分布。
接下来,我们可以使用Levene方差齐性检验检查两个城市的7个指标是否具有相同的方差。
``` python
# 执行Levene方差齐性检验
_, p = stats.levene(gz, sz)
# 显示检验结果
if p < 0.05:
print('The variances are significantly different (p={:.4f}).'.format(p[0]))
else:
print('The variances are not significantly different (p={:.4f}).'.format(p[0]))
```
最后,如果方差相等的假设成立,我们可以使用独立样本t检验检验两个城市的7个指标是否具有显著差异。
``` python
# 执行独立样本t检验
_, p = stats.ttest_ind(gz, sz, equal_var=True)
# 显示检验结果
if (p < 0.05).any():
print('There is a significant difference in at least one variable (p-values: {}),'.format(p.values))
else:
print('There is no significant difference in any variable (p-values: {}),'.format(p.values))
```
这将输出一条消息,指出这两个城市的7个指标是否具有显著差异。
阅读全文