随机变量独立(independent)与相关(correlated)之间的关系

本文详细解释了随机变量的独立性和相关性的概念。独立性定义为P(X<x,Y<y)=P(X<x)P(Y<y),而相关性指的是两个随机变量间存在线性关系,如Y=aX+b。独立性必然导致不相关,但不相关并不一定意味着独立。
X,Y 独立的定义是P(X<x,Y<y)=P(X<x)P(Y<y)。

相关的意思是说两随机变量有线性关系,即Y=aX+b
不相关则意思说没有线性关系。

独立一定能得到不相关。
但不相关的随机变量不一定独立,比如随机变量X , X^2 没有线性关系,不相关,但显然不独立。
from:http://zhidao.baidu.com/question/98711659.html
### 计算特征目标变量的相关性并筛选高相关特征 为了计算特征目标变量之间相关性,可以采用多种统计学方法来评估它们的关系强度。这些方法通常基于皮尔逊(Pearson)、肯德尔(Kendall)或斯皮尔曼(Spearman)相关系数[^2]。 #### 数据准备 在开始之前,需确保数据已清洗完毕,无缺失值或异常值干扰分析结果。如果存在分类型特征,则应将其转换为数值形式以便于后续处理[^3]。 #### 方法实现 以下是具体操作流程: 1. **选择合适的相关性度量方式** - 对于连续型变量间的线性关系检测推荐使用 Pearson 相关系数; - Kendall Spearman 更适合非参数情况或者当两组样本之间并非严格呈现直线趋势时应用。 2. **利用编程工具完成实际运算** 下面给出一段 Python 实现代码示例,展示如何通过 Pandas 库读取数据集后调用 SciPy 或 NumPy 提供的功能快速求解各列相对于某特定响应变量Y 的关联程度,并按绝对值大小降序排列得到最终候选列表: ```python import pandas as pd from scipy.stats import pearsonr, spearmanr, kendalltau def calculate_correlation(dataframe, target_column='target', method='pearson'): """ Calculate correlation between each feature and the target variable. Parameters: dataframe (pd.DataFrame): Input dataset. target_column (str): Name of the column containing the target values. method (str): Correlation calculation method ('pearson','spearman' or 'kendall'). Returns: correlations_sorted (pd.Series): Series object with features sorted by their absolute correlation value descendingly. """ if method not in ['pearson', 'spearman', 'kendall']: raise ValueError(f"Unsupported method {method}. Choose from 'pearson', 'spearman', or 'kendall'.") corr_methods = { 'pearson': lambda col: pearsonr(col.dropna(), dataframe[target_column].dropna())[0], 'spearman': lambda col: spearmanr(col.dropna(), dataframe[target_column].dropna())[0], 'kendall': lambda col: kendalltau(col.dropna(), dataframe[target_column].dropna())[0] } # Exclude non-numeric columns except for the target itself which might be numeric too numerical_features = [col for col in dataframe.columns if dataframe[col].dtype != 'object'] numerical_features.remove(target_column) correlations = {} for feat in numerical_features: try: cor_val = corr_methods[method](dataframe[feat]) correlations[feat] = abs(cor_val) # Take absolute value since we care about magnitude here except Exception as e: print(e) continue correlations_series = pd.Series(correlations).sort_values(ascending=False) return correlations_series # Example usage assuming df is your DataFrame instance holding all data including labels under name `label` result = calculate_correlation(df, target_column="label", method="pearson") print(result.head()) # Print top N correlated features based on chosen metric ``` 上述脚本定义了一个通用函数`calculate_correlation()`用于接收输入表格以及指定的目标字段名期望使用的相关测量手段,默认情况下它会选择皮尔森法作为默认选项。该逻辑遍历除标签外的所有其他属性并后者逐一配对执行相应检验过程最后返回按照重要性评分高低次序整理出来的结果集合[^4]。 另外值得注意的是,在某些场景下除了单纯依赖单一指标之外还可以考虑引入额外约束条件比如设定阈值仅保留那些超过给定界限以上的项目;或者是借助可视化技术绘制热图直观展现整体结构分布状况辅助决策制定等等。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值