线性回归--假设检验(F统计量、P-value)

本文介绍了线性回归中的F检验,包括F检验的原理、线性回归的基础概念、模型假设检验的步骤以及如何通过举例计算F统计量和P-value来判断是否拒绝零假设。在给定的例子中,通过计算得出F统计量大于临界值,从而拒绝了零假设。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 一、F检验解释

 F检验(F-test),最常用的别名叫做联合假设检验(英语:joint hypotheses test),此外也称方差比率检验、方差齐性检验。它是一种在原假设(null hypothesis, H0)之下,统计值服从F-分布的检验。

二、线性回归基础:

通常对于一组特征数据和其标记值:(x1,y1),(x2,y2)......(xn,yn)在使用特征值对进行预测时,根据习惯,如果是连续的,则称这种操作或者技术为回归;如果y_i​是离散的,则通常称为分类。 

线性回归模型可以描述为:

 三、模型假设检验:

H0 :β1 =β2 =...=βk =0。

H1: 至少有一个 βi 不等于 0, i = 1,2,...,k。

Tes

### 如何在 MATLAB 中进行二阶滞后 ARCH-LM 检验 为了执行二阶滞后 ARCH-LM 检验,在 MATLAB 中可以通过构建辅助回归并计算 LM 统计量来完成。以下是具体的实现方式: #### 构建残差平方和及其滞后项 ```matlab % 假设 y 是因变量,X 是解释变量矩阵 mdl = fitlm(X, y); residuals = mdl.Residuals.Raw; residuals_squared = residuals.^2; % 创建滞后项 lags = 2; for i = 1:lags lagged_residuals{i} = [nan(i, 1); residuals(1:end-i)].^2; % 计算滞后项的平方 end ``` #### 辅助回归 将残差平方作为被解释变量,其滞后项作为解释变量进行线性回归。 ```matlab auxiliary_X = [ones(length(residuals), 1) lagged_residuals{1}(lags+1:end) ... lagged_residuals{2}(lags+1:end)]; auxiliary_y = residuals_squared(lags+1:end); aux_regress = fitlm(auxiliary_X, auxiliary_y); disp('辅助回归结果:'); disp(aux_regress); ``` #### 计算 LM 统计量 LM 统计量等于样本数量乘以辅助回归的可决系数 \( R^2 \),该统计量渐近服从自由度为滞后期数目的 χ² 分布。 ```matlab n = length(auxiliary_y); r_squared = aux_regress.Rsquared.Ordinary; LM_statistic = n * r_squared; p_value = 1 - chi2cdf(LM_statistic, lags); fprintf('LM statistic=%.4f with p-value=%.4f\n', LM_statistic, p_value)[^1]; ``` ### 进行异方差检验 对于异方差性的检测,可以采用 Breusch-Pagan 或 White 检验。这里展示如何利用 `regress` 函数配合手动计算来进行简单的 BP 检验。 ```matlab % 使用原始模型得到的残差平方作为新的响应变量 bp_resids_sqrd = mdl.Residuals.Raw .^ 2; % 对原解释变量做二次项扩展(仅用于BP检验) extended_X = [X X.^2]; % 执行辅助回归 [beta_bp,~,stats_bp] = regress(bp_resids_sqrd, extended_X); % 提取必要的统计信息 ssr_bp = stats_bp(3)^2; df_bp = size(extended_X, 2)-1; chi2_bp = ssr_bp / mdl.MSE; pv_bp = 1-chi2cdf(chi2_bp, df_bp); fprintf('Breusch-Pagan test Chi-square=%.4f and P-value=%.4f\n', chi2_bp, pv_bp)[^4]; ``` ### 计算 F 检验统计量 和 R 平方值 F 检验通常用来评估整体模型的有效性;而决定系数 \( R^2 \) 则衡量了模型对数据变异程度的解释力。 ```matlab % 已经由fitlm函数自动给出 disp(['Model R-squared value is ', num2str(mdl.Rsquared.Ordinary)]); disp(['Model Adjusted R-squared value is ', num2str(mdl.Rsquared.Adjusted)]); % 获取ANOVA表中的F统计量及对应P值 anova_table = anova(mdl); disp(anova_table); ``` 上述代码片段展示了如何在 MATLAB 中实施这些操作,并提供了详细的说明[^2].
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值