You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
44 lines
1.7 KiB
44 lines
1.7 KiB
import numpy as np
|
|
import scipy.stats as stats
|
|
|
|
# 假设数据
|
|
# 老龄化程度较高的群体数据
|
|
high_aging_data = {
|
|
'老龄化给社会带来的主要问题': np.array([75.47, 85.85, 84.91, 53.77, 83.96]),
|
|
'政府应该采取哪些措施': np.array([62.26, 16.04, 91.51, 88.68, 51.89,0.94]),
|
|
'life_expectancy': np.array([75, 76, 74, 77, 75]),
|
|
# 其他可能的因素...
|
|
}
|
|
|
|
# 老龄化程度较低的群体数据
|
|
low_aging_data = {
|
|
'老龄化给社会带来的主要问题': np.array([84.62, 69.23, 69.23, 15.38, 84.62]),
|
|
'政府应该采取哪些措施': np.array([46.15, 7.69, 69.23, 76.92, 30.77,7.69]),
|
|
'life_expectancy': np.array([70, 71, 69, 72, 70]),
|
|
# 其他可能的因素...
|
|
}
|
|
|
|
# 进行t检验并分析结果
|
|
factors = ['老龄化给社会带来的主要问题', '政府应该采取哪些措施', 'life_expectancy']
|
|
system_evaluation = {}
|
|
|
|
for factor in factors:
|
|
high_group = high_aging_data[factor]
|
|
low_group = low_aging_data[factor]
|
|
t_stat, p_value = stats.ttest_ind(high_group, low_group)
|
|
system_evaluation[factor] = {
|
|
't_statistic': t_stat,
|
|
'p_value': p_value,
|
|
'effect_size': np.abs(t_stat) * np.sqrt((len(high_group) + len(low_group)) / (len(high_group) * len(low_group)))
|
|
}
|
|
print(f"{factor}的t统计量: {t_stat}, P值: {p_value}")
|
|
if p_value < 0.05:
|
|
print(f"{factor}在两个群体之间存在显著差异。\n")
|
|
else:
|
|
print(f"{factor}在两个群体之间没有显著差异。\n")
|
|
|
|
# 打印系统评价
|
|
print("系统评价:")
|
|
for factor, evaluation in system_evaluation.items():
|
|
print(f"{factor}: t统计量={evaluation['t_statistic']}, P值={evaluation['p_value']}, 影响大小={evaluation['effect_size']}")
|