You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何基于二元变量v2x_regime分析民主与独裁政体的SuPDem相关性?

二元政体类型与SuPDem指标的分析方案

你的v2x_regime是二元分类变量(0=独裁,1=民主),SuPDem是连续数值变量,不适合用普通皮尔逊相关性分析,推荐用以下几种实用方法:

1. 分组统计看直观差异

先拉取两组的核心统计指标,快速判断独裁/民主组的SuPDem整体水平差异:

# 按政体分组计算SuPDem的描述性统计
group_stats = df.groupby('v2x_regime')['SuPDem'].describe()
print(group_stats)

输出会包含每组的均值、中位数、标准差等信息,帮你初步掌握两组的集中趋势和离散程度。

2. 统计检验验证差异显著性

独立样本t检验(参数检验)

如果数据满足正态性和方差齐性,用t检验验证两组SuPDem均值差异的统计显著性:

from scipy.stats import ttest_ind

# 拆分两组数据
dictator_data = df[df['v2x_regime'] == 0]['SuPDem']
democracy_data = df[df['v2x_regime'] == 1]['SuPDem']

# 执行t检验
t_val, p_val = ttest_ind(dictator_data, democracy_data)
print(f"t统计量: {t_val:.4f}, p值: {p_val:.4f}")
  • 若p值<0.05,说明两组SuPDem均值差异具有统计显著性;
  • 若数据不满足t检验前提,改用曼-惠特尼U检验(非参数替代方法):
from scipy.stats import mannwhitneyu

u_val, p_val = mannwhitneyu(dictator_data, democracy_data)
print(f"U统计量: {u_val:.4f}, p值: {p_val:.4f}")

3. 可视化展示分布差异

用箱线图直观呈现两组SuPDem的分布差异,更清晰看到中位数、四分位区间和异常值:

import seaborn as sns
import matplotlib.pyplot as plt

sns.boxplot(x='v2x_regime', y='SuPDem', data=df)
plt.xticks([0, 1], ['独裁政体', '民主政体'])
plt.title('不同政体的SuPDem指标分布')
plt.show()

4. 点二列相关系数(相关性度量)

如果一定要用“相关性”指标,点二列相关是专门针对二元分类变量+连续变量的度量方式:

from scipy.stats import pointbiserialr

corr, p_val = pointbiserialr(df['v2x_regime'], df['SuPDem'])
print(f"点二列相关系数: {corr:.4f}, p值: {p_val:.4f}")

系数范围在[-1,1],绝对值越大表示相关性越强,p值用于判断相关性是否具有统计显著性。


内容的提问来源于stack exchange,提问作者user19562955

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 14:25:24