【统计检验】F检验与F分布
统计检验核心F检验与F分布原理推导Python可视化机器学习实战F检验是统计学中用于比较方差、做方差分析ANOVA、检验回归方程显著性的核心方法也是本科数理统计、研究生数据分析与机器学习特征选择的必学内容。一、F检验到底是什么一句话看懂F检验 两个方差的比值检验核心思想用两组数据的样本方差之比判断两个总体方差是否有显著差异服从分布F分布由两个卡方分布构造而来用途双总体方差齐性检验方差是否相等单因素/多因素方差分析ANOVA线性回归整体显著性检验机器学习特征选择最常用实战场景二、最直观的例子两种肥料的产量稳定性你是农业研究员想判断肥料A、肥料B种出来的作物产量波动方差是否一样步骤各取一组产量数据计算两组样本方差S12S_1^2S12、S22S_2^2S22算F统计量F 大方差 / 小方差保证F≥1看F是否显著偏离1F≈1 ➜ 方差无显著差异F远大于1 ➜ 方差显著不同三、F分布的定义与核心特点1. F分布从哪来F分布是两个标准化卡方分布的比值设U∼χ2(d1)U \sim \chi^2(d_1)U∼χ2(d1)V∼χ2(d2)V \sim \chi^2(d_2)V∼χ2(d2)U、V相互独立则FU/d1V/d2∼F(d1,d2) F \frac{U/d_1}{V/d_2} \sim F(d_1, d_2)FV/d2U/d1∼F(d1,d2)d1d_1d1分子自由度d2d_2d2分母自由度2. F分布的4个关键特征非负性F ≥ 0方差之比不可能为负右偏分布自由度越小越偏自由度越大越接近正态双自由度决定形状d1d_1d1、d2d_2d2缺一不可常用在方差比较是统计学里“离散程度对比”的标准分布四、F检验的核心公式方差齐性检验1. 统计量FS12S22 F \frac{S_1^2}{S_2^2}FS22S12约定把大方差放分子使F≥12. 自由度d1n1−1d_1 n_1 - 1d1n1−1d2n2−1d_2 n_2 - 1d2n2−13. 判断规则给定显著性水平α0.05\alpha0.05α0.05计算p值 0.05 ➜ 拒绝原假设 ➜方差有显著差异p值 ≥ 0.05 ➜ 不能拒绝 ➜方差无显著差异五、F分布概率密度函数PDF供考研/深入学习使用本科会用即可fF(x;d1,d2)Γ(d1d22)Γ(d12)Γ(d22)(d1d2)d12xd12−1(1d1d2x)−d1d22 f_F(x;d_1,d_2)\frac {\Gamma\left(\frac{d_1d_2}{2}\right)} {\Gamma\left(\frac{d_1}{2}\right)\Gamma\left(\frac{d_2}{2}\right)} \left(\frac{d_1}{d_2}\right)^{\frac{d_1}{2}} x^{\frac{d_1}{2}-1} \left(1\frac{d_1}{d_2}x\right)^{-\frac{d_1d_2}{2}}fF(x;d1,d2)Γ(2d1)Γ(2d2)Γ(2d1d2)(d2d1)2d1x2d1−1(1d2d1x)−2d1d2Γ\GammaΓ伽马函数阶乘推广保证积分为1x0六、Python实现1F分布可视化 双样本方差检验直接运行直观看到F分布和你计算的F值位置importnumpyasnpimportmatplotlib.pyplotaspltimportscipy.statsasstats# 固定随机种子np.random.seed(42)# 生成两组数据方差不同n1,n230,30data1np.random.normal(0,1,n1)# 方差1data2np.random.normal(0,2,n2)# 方差4# 计算无偏样本方差var1np.var(data1,ddof1)var2np.var(data2,ddof1)# 计算F统计量大方差/小方差ifvar2var1:F_statvar2/var1 d1n2-1d2n1-1else:F_statvar1/var2 d1n1-1d2n2-1print(f方差1:{var1:.4f})print(f方差2:{var2:.4f})print(fF统计量:{F_stat:.4f})print(f自由度: ({d1},{d2}))# 绘制F分布xnp.linspace(0,5,500)pdfstats.f.pdf(x,dfnd1,dfdd2)plt.figure(figsize(10,6))plt.plot(x,pdf,color#3498db,linewidth2,labelfF({d1},{d2}))plt.axvline(F_stat,color#e74c3c,linestyle--,linewidth2,labelfF{F_stat:.3f})plt.title(F Distribution F Statistic,fontsize14)plt.xlabel(F value)plt.ylabel(Probability Density)plt.legend()plt.grid(alpha0.3)plt.show()七、Python实现2机器学习最强应用 — ANOVA F检验特征选择这是工作/竞赛最常用的技能用F检验筛选对预测目标显著的特征扔掉无用特征适用场景回归任务 →f_regression分类任务 →f_classif卡方检验也常用importpandasaspdimportmatplotlib.pyplotaspltfromsklearn.datasetsimportmake_regressionfromsklearn.feature_selectionimportf_regression,SelectKBestfromsklearn.linear_modelimportLinearRegressionfromsklearn.model_selectionimporttrain_test_split# 生成回归数据X,ymake_regression(n_samples1000,n_features10,noise10,random_state42)dfpd.DataFrame(X,columns[ffeat_{i}foriinrange(10)])df[target]y# 划分训练集/测试集X_train,X_test,y_train,y_testtrain_test_split(df.drop(target,axis1),df[target],test_size0.2,random_state42)# 计算每个特征的F值和p值f_vals,p_valsf_regression(X_train,y_train)# 构建结果表respd.DataFrame({feature:X_train.columns,F_value:f_vals,p_value:p_vals}).sort_values(F_value,ascendingFalse)print( F检验特征重要性排序 )print(res)# 筛选显著特征p0.05best_featsres[res[p_value]0.05][feature].tolist()print(\n显著特征,best_feats)# 用筛选后的特征建模modelLinearRegression()model.fit(X_train[best_feats],y_train)r2model.score(X_test[best_feats],y_test)print(f\n筛选后模型 R²:{r2:.4f})# 画图展示特征重要性plt.figure(figsize(12,5))plt.bar(res[feature],res[F_value],color#1abc9c)plt.title(Feature F-Value (ANOVA),fontsize14)plt.xticks(rotation45)plt.grid(axisy,alpha0.3)plt.tight_layout()plt.show()八、F检验的三大核心用途考试面试必考方差齐性检验检验两总体方差是否相等是t检验的前提方差分析ANOVA检验多组均值是否有显著差异组间方差 / 组内方差 → F值线性回归显著性检验整个回归方程是否有用回归均方 / 残差均方 → F值九、超简总结背诵版F检验 方差之比的检验F分布 两个卡方分布均值的比值F≈1 ➜ 方差相似F越大 ➜ 方差差异越显著实战最强用途机器学习特征选择
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2421262.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!