快速开始
本指南将帮助你快速上手 PyCorrAna,了解基本用法和核心功能。
基本用法
一行代码完成分析
PyCorrAna 的核心设计理念是简化分析流程。使用 pycorrana.quick_corr() 函数可以一键完成完整的分析:
from pycorrana import quick_corr
result = quick_corr('data.csv')
这一行代码会自动完成:
加载数据文件
自动识别数据类型
选择合适的相关系数方法
计算相关性矩阵
进行显著性检验
生成可视化图表
使用 DataFrame
如果你已经有 pandas DataFrame,可以直接传入:
import pandas as pd
from pycorrana import quick_corr
df = pd.read_csv('data.csv')
result = quick_corr(df)
指定目标变量
当你只关心某个目标变量与其他变量的相关性时:
result = quick_corr(df, target='sales')
这会计算所有变量与 sales 变量的相关性。
使用分析器类
对于更精细的控制,可以使用 pycorrana.CorrAnalyzer 类:
from pycorrana import CorrAnalyzer
analyzer = CorrAnalyzer(
df,
method='spearman', # 指定方法
missing_strategy='fill', # 缺失值填充
fill_method='mean' # 使用均值填充
)
result = analyzer.fit()
analyzer.plot_heatmap()
analyzer.export_results('results.xlsx')
分析器配置选项
参数 |
默认值 |
说明 |
|---|---|---|
method |
'auto' |
相关系数方法:'auto', 'pearson', 'spearman', 'kendall' |
missing_strategy |
'warn' |
缺失值处理:'warn', 'drop', 'fill' |
fill_method |
None |
填充方法:'mean', 'median', 'mode', 'knn' |
pvalue_correction |
'fdr_bh' |
p 值校正方法 |
large_data_config |
None |
大数据优化配置 |
大数据优化
PyCorrAna 提供了针对大数据集的优化策略。
自动检测大数据
PyCorrAna 会自动检测大数据集(默认阈值:10万行或500MB)并提示优化建议。
配置大数据优化
使用 LargeDataConfig 配置大数据优化参数:
from pycorrana import CorrAnalyzer
from pycorrana.utils import LargeDataConfig
config = LargeDataConfig(
sample_size=100000, # 采样大小
auto_sample=True, # 自动采样
auto_optimize=True, # 自动优化内存
verbose=True
)
analyzer = CorrAnalyzer(large_df, large_data_config=config)
analyzer.fit()
智能采样
from pycorrana.utils import smart_sample
# 随机采样
sampled_df = smart_sample(df, sample_size=50000)
# 分层采样
sampled_df = smart_sample(df, sample_size=50000, stratify_col='category')
可视化
热力图
analyzer.plot_heatmap(
figsize=(12, 10),
annot=True, # 显示数值
cmap='RdBu_r', # 颜色映射
cluster=True # 层次聚类
)
散点图矩阵
analyzer.plot_pairplot(
columns=['var1', 'var2', 'var3'],
hue='category' # 按分类着色
)
箱线图
analyzer.plot_boxplot(
numeric_col='price',
categorical_col='category',
kind='violin' # 'box', 'violin', 'boxen'
)
导出结果
导出为 Excel
analyzer.export_results('results.xlsx', format='excel')
导出为 CSV
analyzer.export_results('results.csv', format='csv')
查看摘要
print(analyzer.summary())
使用示例数据集
PyCorrAna 提供了几个内置示例数据集:
from pycorrana import load_iris, load_titanic, load_wine
iris = load_iris()
titanic = load_titanic()
wine = load_wine()
查看可用数据集:
from pycorrana import list_datasets
print(list_datasets())
生成模拟数据:
from pycorrana import make_correlated_data
df = make_correlated_data(
n_samples=1000,
n_features=10,
correlation=0.7
)
命令行工具
PyCorrAna 提供了命令行工具,无需编写代码即可进行分析:
完整分析
pycorrana analyze data.csv --target sales --export results.xlsx
数据清洗
pycorrana clean data.csv --dropna --output cleaned.csv
偏相关分析
pycorrana partial data.csv -x income -y happiness -c age,education
非线性检测
pycorrana nonlinear data.csv --top 20
交互式模式
pycorrana-interactive
进阶功能
偏相关分析
控制协变量后的净相关分析:
from pycorrana import partial_corr
result = partial_corr(
df,
x='income',
y='happiness',
covars=['age', 'education']
)
print(f"偏相关系数: {result['partial_correlation']:.3f}")
半偏相关
from pycorrana import semipartial_corr
result = semipartial_corr(df, x='income', y='happiness', covars='age')
非线性依赖检测
检测变量间的非线性关系:
from pycorrana import (
distance_correlation,
mutual_info_score,
nonlinear_dependency_report
)
result = distance_correlation(df['x'], df['y'], return_pvalue=True)
print(f"dCor: {result['dcor']:.3f}")
result = mutual_info_score(df['x'], df['y'])
print(f"MI: {result['mi_normalized']:.3f}")
report = nonlinear_dependency_report(df)
典型相关分析
分析两组变量之间的相关性:
from pycorrana import cca, load_iris
df = load_iris()
# 定义两组变量
X = df[['sepal_length', 'sepal_width']]
Y = df[['petal_length', 'petal_width']]
# 执行典型相关分析
result = cca(X, Y)
print("典型相关系数:", result['canonical_correlations'])