-
2021-04-18 04:50:26
matlab建立多元线性回归模型并进行显著性检验及预测问题
例子;
x=[143 145 146 147 149 150 153 154 155 156 157 158 159 160 162 164]'; X=[ones(16,1) x]; 增加一个常数项 Y=[88 85 88 91 92 93 93 95 96 98 97 96 98 99 100 102]'; [b,bint,r,rint,stats]=regress(Y,X) 得结果:b = bint = -16.0730 -33.7071 1.5612 0.7194 0.6047 0.8340 stats = 0.9282 180.9531 0.0000 即对应于b的置信区间分别为[-33.7017,1.5612]、[0.6047,0.834]; r2=0.9282, F=180.9531, p=0.0000 p<0.05, 可知回归模型 y=-16.073+0.7194x 成立. 这个是一元的,如果是多元就增加X的行数!
function [beta_hat,Y_hat,stats]=regress(X,Y,alpha)
% 多元线性回归(Y=Xβ+ε)MATLAB代码
%
% 参数说明
% X:自变量矩阵,列为自变量,行为观测值
% Y:应变量矩阵,同X
% alpha:置信度,[0 1]之间的任意数据
% beta_hat:回归系数
% Y_beata:回归目标值,使用Y-Y_hat来观测回归效果
% stats:结构体,具有如下字段
% stats.fTest=[fV,fH],F检验相关参数,检验线性回归方程是否显著
% fV:F分布值,越大越好,线性回归方程越显著
% fH:0或1,0不显著;1显著(好)
% stats.tTest=[tH,tV,tW],T检验相关参数和区间估计,检验回归系数β是否与Y有显著线性关系
% tV:T分布值,beta_hat(i)绝对值越大,表示Xi对Y显著的线性作用
% tH:0或1,0不显著;1显著
% tW:区间估计拒绝域,如果beta(i)在对应拒绝区间内,那么否认Xi对Y显著的线性作用
% stats.TUQR=[T,U,Q,R],回归中使用的重要参数
% T:总离差平方和,且满足T=Q+U
% U:回归离差平方和
% Q:残差平方和
% R∈[0 1]:复相关系数,表征回归离差占总离差的百分比,越大越好
% 举例说明
更多相关内容 -
stats | 线性回归(四)——显著性检验和模型评价
2021-05-27 01:04:20本篇介绍线性回归的显著性检验和评价方法。示例数据同上篇:DATA<-mtcars[,c("mpg","wt","qsec",...本篇介绍线性回归的显著性检验和评价方法。示例数据同上篇:
DATA <- mtcars[, c("mpg", "wt", "qsec", "drat")]
6 显著性检验
显著性检验主要用来判断某变量是否有必要留在模型表达式中,常使用的有F检验和t检验。
建立如下模型:
model <- lm(mpg ~ wt + I(wt^2) + qsec, data = DATA) summary(model) ## ## Call: ## lm(formula = mpg ~ wt + I(wt^2) + qsec, data = DATA) ## ## Residuals: ## Min 1Q Median 3Q Max ## -4.2200 -1.2521 -0.6288 0.9357 5.1761 ## ## Coefficients: ## Estimate Std. Error t value Pr(>|t|) ## (Intercept) 32.6418 5.6768 5.750 3.59e-06 *** ## wt -12.4331 2.0842 -5.965 2.01e-06 *** ## I(wt^2) 1.0730 0.2970 3.613 0.001174 ** ## qsec 0.8599 0.2236 3.846 0.000634 *** ## --- ## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 ## ## Residual standard error: 2.182 on 28 degrees of freedom ## Multiple R-squared: 0.8816, Adjusted R-squared: 0.8689 ## F-statistic: 69.5 on 3 and 28 DF, p-value: 4.345e-13
6.1 F检验
F检验用于检验模型整体的显著性。
原假设:所有解释变量对因变量都没有显著影响,即解释变量的回归系数(不含截距)都不显著异于0;
备选假设:至少有一个解释变量对因变量有显著影响,即解释变量的回归系数至少有一个显著异于0。
若p值小于给定显著性水平,则拒绝原假设,接受备选假设。
回归模型整体的F统计量如下:
其中,
F统计量有两个自由度,第一自由度 等于自变量个数,第二自由度 ,其中 为样本量。
summary
函数输出结果的最后一行即为F检验的内容:summary(model) ## F-statistic: 69.5 on 3 and 28 DF, p-value: 4.345e-13
summary
函数的输出内容是对模型的所有解释变量作F检验,若只针对其中部分变量,可以使用car
工具包中的linearHypothesis
函数:linearHypothesis(model, hypothesis.matrix, rhs=NULL, test=c("F", "Chisq"), vcov.=NULL, white.adjust=c(FALSE, TRUE, "hc3", "hc0", "hc1", "hc2", "hc4"), singular.ok=FALSE, ...)
hypothesis.matrix:解释变量组成的向量或原假设组成的向量;
rhs:原假设中对应解释变量的系数值。
单个变量的F检验等同于t检验:
library(car) linearHypothesis(model, c("qsec"), test = "F") ## Linear hypothesis test ## ## Hypothesis: ## qsec = 0 ## ## Model 1: restricted model ## Model 2: mpg ~ wt + I(wt^2) + qsec ## ## Res.Df RSS Df Sum of Sq F Pr(>F) ## 1 29 203.75 ## 2 28 133.31 1 70.431 14.793 0.0006339 *** ## --- ## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
所有解释变量的F检验,结果与
summary
函数相同:
linearHypothesis(model, c("wt", "I(wt^2)", "qsec")) ## Linear hypothesis test ## ## Hypothesis: ## wt = 0 ## I(wt^2) = 0 ## qsec = 0 ## ## Model 1: restricted model ## Model 2: mpg ~ wt + I(wt^2) + qsec ## ## Res.Df RSS Df Sum of Sq F Pr(>F) ## 1 31 1126.05 ## 2 28 133.31 3 992.73 69.501 4.345e-13 *** ## --- ## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
部分变量的F检验:
linearHypothesis(model, c("wt", "I(wt^2)")) ## Linear hypothesis test ## ## Hypothesis: ## wt = 0 ## I(wt^2) = 0 ## ## Model 1: restricted model ## Model 2: mpg ~ wt + I(wt^2) + qsec ## ## Res.Df RSS Df Sum of Sq F Pr(>F) ## 1 30 928.66 ## 2 28 133.31 2 795.34 83.522 1.579e-12 *** ## --- ## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
根据输出结果,可以认为
wt
和I(wt^2)
两个解释变量中至少有一个回归系数显著不为0。
原假设为某变量的回归系数为1(也可以为其他值,根据需要设置):
# 以下写法等价 linearHypothesis(model, c("I(wt^2) = 1")) linearHypothesis(model, c("I(wt^2)"), 1) ## Linear hypothesis test ## ## Hypothesis: ## I(wt^2) = 1 ## ## Model 1: restricted model ## Model 2: mpg ~ wt + I(wt^2) + qsec ## ## Res.Df RSS Df Sum of Sq F Pr(>F) ## 1 29 133.60 ## 2 28 133.31 1 0.28786 0.0605 0.8076
根据输出结果,可以认为
I(wt^2)
的回归系数不显著异于1。
6.2 t检验
t检验用于检验模型中单个变量的显著性:
使用
summary
函数输出的结果:summary(model) ## Coefficients: ## Estimate Std. Error t value Pr(>|t|) ## (Intercept) 32.6418 5.6768 5.750 3.59e-06 *** ## wt -12.4331 2.0842 -5.965 2.01e-06 *** ## I(wt^2) 1.0730 0.2970 3.613 0.001174 ** ## qsec 0.8599 0.2236 3.846 0.000634 *** ## --- ## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
或者:
coef(summary(model)) ## Estimate Std. Error t value Pr(>|t|) ## (Intercept) 32.6418325 5.6767588 5.750083 3.592789e-06 ## wt -12.4330965 2.0841792 -5.965464 2.008329e-06 ## I(wt^2) 1.0730270 0.2969987 3.612901 1.173891e-03 ## qsec 0.8598587 0.2235665 3.846099 6.338842e-04
7 模型评价
模型评价的目的是选择出最优的模型表达式,具体内容是通过比较决定是否将某些变量纳入到表达式中,原则是兼顾拟合程度和简洁性。
建立如下三个模型:
model.1 <- lm(mpg ~ wt , data = DATA) model.2 <- lm(mpg ~ wt + I(wt^2), data = DATA) model.3 <- lm(mpg ~ wt + I(wt^2) + drat, data = DATA)
7.1 R方
R方(R-squared)用于衡量模型的拟合程度:
回归平方和 ,表示能够被模型解释的信息量;
残差平方和 ,表示未被模型解释的信息量;
总离差平方和 ,表示原始数据总的信息量; 。
R方的取值范围为 ,但对于线性模型来讲,其在数值上等于因变量真实值与拟合值值的皮尔逊系数的平方,取值范围为 。
R方越大,说明模型的拟合程度越好,但是由于变量越多,R方自然也会增加,为了兼顾简洁性,模型评价一般使用调整后的R方(Adjusted R-squared):
和 分别为样本和变量个数。
summary
函数输出结果的倒数第二行即为R方的结果。summary(model.1) ## Multiple R-squared: 0.7528, Adjusted R-squared: 0.7446
summary(model.2) ## Multiple R-squared: 0.8191, Adjusted R-squared: 0.8066
summary(model.3) ## Multiple R-squared: 0.8193, Adjusted R-squared: 0.7999
三个模型R方和自变量个数一样依次增加,但
model.2
的调整R方最大,因此在这三个模型中可以认为它是最优模型。
7.2 方差分析
方差分析(Analysis of Variance)是用显著性检验的方法来比较模型的优劣,有F检验和卡方检验。
F检验:
anova(model.1, model.2, model.3, test = "F") ## Analysis of Variance Table ## ## Model 1: mpg ~ wt ## Model 2: mpg ~ wt + I(wt^2) ## Model 3: mpg ~ wt + I(wt^2) + drat ## Res.Df RSS Df Sum of Sq F Pr(>F) ## 1 30 278.32 ## 2 29 203.75 1 74.576 10.2627 0.003375 ** ## 3 28 203.47 1 0.276 0.0379 0.847005 ## --- ## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
根据结果,
model.2
显著优于model.1
,但model.3
不显著优于model.2
,因此可认为model.2
是最优模型。
卡方检验:
anova(model.1, model.2, model.3, test = "Chisq") ## Analysis of Variance Table ## ## Model 1: mpg ~ wt ## Model 2: mpg ~ wt + I(wt^2) ## Model 3: mpg ~ wt + I(wt^2) + drat ## Res.Df RSS Df Sum of Sq Pr(>Chi) ## 1 30 278.32 ## 2 29 203.75 1 74.576 0.001357 ** ## 3 28 203.47 1 0.276 0.845599 ## --- ## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
结果同F检验。
7.3 信息量准则
信息量准则兼顾了模型的似然度和简洁程度。常用的有赤池信息量准则(Akaike Information Criterion,AIC)和贝叶斯信息量准则(Bayesian Information Criterion,BIC):
为模型的似然度(Likehood);
和 分别为样本和变量个数。
AIC和BIC的取值范围为任意实数,其数值越小,说明模型优度越高。
stats
包中的logLik
函数可以计算模型似然度的对数值 :
lnL <- logLik(model.1) lnL ## 'log Lik.' -80.01471 (df=3)
# 手动计算model.1的AIC值 -2*lnL + 2 ## 'log Lik.' 162.0294 (df=3)
stats
包中的AIC
和BIC
函数分别用于计算两种信息量准则:
AIC(model.1, model.2, model.3) ## df AIC ## model.1 3 166.0294 ## model.2 4 158.0484 ## model.3 5 160.0051
根据输出结果,
model.2
的AIC值最小,因此可认为它是最优模型。
BIC(model.1, model.2, model.3) ## df BIC ## model.1 3 170.4266 ## model.2 4 163.9113 ## model.3 5 167.3338
结果同AIC。
往期推荐阅读:
-
matlab建立多元线性回归模型并进行显著性检验及预测问题.docx
2022-06-23 01:53:20matlab建立多元线性回归模型并进行显著性检验及预测问题.docxmatlab建立多元线性回归模型并进行显著性检验及预测问题.docxmatlab建立多元线性回归模型并进行显著性检验及预测问题.docxmatlab建立多元线性回归模型并... -
matlab建立多元线性回归模型并进行显著性检验及预测问题.pdf
2022-06-23 01:15:20matlab建立多元线性回归模型并进行显著性检验及预测问题.pdfmatlab建立多元线性回归模型并进行显著性检验及预测问题.pdfmatlab建立多元线性回归模型并进行显著性检验及预测问题.pdfmatlab建立多元线性回归模型并进行... -
matlab显著性检验代码-FALCON:鹘
2021-06-04 06:19:25在五个二元零模型下进行显着性检验:SS、FF、CC、DD 和 EE 此外,频谱半径和 WNODF 度量可用于在四个加权零模型下分析加权网络。 有关 FALCON 提供的更多信息,请阅读 . 有关如何运行 FALCON 的更多信息,请阅读 . ... -
用 R 来进行时间序列分析中的参数的显著性检验
2020-04-30 14:11:27由于R中在进行参数估计时,并不会直接给出各参数的显著性检验,所以这就要用手动计算下。 以下图片来自于,王燕《时间序列分析基于R》P90 还有一张图片我觉得也不错,所以也贴在这了。 ...由于R中在进行参数估计时,并不会直接给出各参数的显著性检验,所以这就要用手动计算下。
以下图片来自于,王燕《时间序列分析基于R》P90
还有一张图片我觉得也不错,所以也贴在这了。
-
地理建模——显著性检验
2021-03-02 21:00:09学习地理建模时总是遇到显著性检验,这里记录一下。背景
学习地理建模时总是遇到显著性检验,这里记录一下。
是什么
显著性检验是用于检测科学实验中实验组与对照组之间是否有差异以及差异是否显著的办法。
“显著性检验”的前提条件是“统计假设”,用更通俗的话来说就是要先对科研数据做一个假设,然后用检验来检查假设对不对。一般而言,把要检验的假设称之为原假设,记为H0;把与H0相对应(相反)的假设称之为备择假设,记为H1。
如果原假设为真,而检验的结论却认为原假设为假。此时,我们把这种错误称之为第一类错误(显著性检验)。通常把第一类错误出现的概率记为α。概率α称为显著性水平。一般α =0.05,代表着显著性检验结论错误率最多为5%;换言之原假设(统计学中,通常把在现实世界中发生几率小于5%的事件称之为“不可能事件”)步骤
1,假设两个样本集之间不存在任何区别(方差检验的原假设)
3,在显著性水平α =0.05的情况下,p>0.05接受原假设,p值<0.05拒绝原假设。F表示F值(F统计量),F值等于组间均方和组内均方的比值,它反映的是随机误差作用的大小。
F实际值>F查表值,则p<=0.05
F实际值<F查表值,则p>0.05
F0.05( m, n-m-1);n=样本数,m=组数
参考
-
【统计学习系列】多元线性回归模型(五)——参数与模型的显著性检验:t检验与F检验
2020-03-29 16:57:02单参数显著性检验——t检验2. 回归方程显著性检验——F检验3. 拟合优度评价指标I——R方/改进R方4. 拟合优度评价指标AIC/BIC/SIC写在最后 1. 单参数显著性检验——t检验 2. 回归方程显著性检验——F检验 3. 拟合... -
python进行回归方程显著性检验
2021-03-22 20:59:25回归分析就是对具有相关关系的两个或两个以上变量之间数量变化的一般关系进行测定,确定因变量和自变量之间数量变动的数学表达式,以便对因变量进行估计或预测的统计分析方法。 -
模拟验证一阶自回归模型中自回归系数,对一元回归模型,如何检验回归系数是否显著?,Python
2021-09-10 20:01:10运用Python的数组和矩阵操作模拟验证一阶自回归模型中,自回归系数OLS估计量的有限样本偏差问题。 -
回归模型显著性检验在多项式法探测周跳中的应用
2020-06-28 00:01:10为了确定多项式法探测周跳时的拟合阶数,将回归模型显著性检验引入多项式阶数的确定,在适当的显著性水平下,采用线性假设检验方法,对回归模型估计参数进行假设检验。结果表明:多项式法探测周跳时拟合阶数随着采样间隔... -
回归方程及回归系数的显著性检验_stata显著性检验
2021-03-17 03:11:131、回归方程的显著性检验(1) 回归平方和与剩余平方和建立回归方程以后, 回归效果如何呢?因变量与自变量是否确实存在线性关系呢?这是需要进行统计检验才能加以肯定或否定, 为此, 我们要进一步研究因变量取值的变化... -
显著性检验python
2020-12-16 14:42:24信用特征检验/模型稳健性检验的代码实现1.1 常用的检验实现1.1.1 ttest_ind1.1.2 曼-惠特尼U检验(Mann-Whitney U test)1.1.3 KS_检验1.1.4 非参数统计... -
一元线性回归模型显著性检验方法的改进
2011-03-09 22:00:32一元线性回归模型显著性检验方法的改进一元线性回归模型显著性检验方法的改进一元线性回归模型显著性检验方法的改进一元线性回归模型显著性检验方法的改进 -
R语言进行的变量相关性显著性检验
2021-06-10 21:42:04在计算好相关系数以后,如何对它们进行统计显著性检验呢? 常用的原假设为变量间不相关(即总体的相关系数为0)。可以使用cor.test()函数对单个的Pearson、Spearman和Kendall相关系数进行检验。 简化后的使用格式... -
ArcMap对多年 NDVI 进行线性趋势和F显著性检验
2021-08-02 22:51:161方法 1.1 趋势分析 采用一元线性回归分析和最小...为了进一步评价植被覆盖变化状况,采用F检验法对NDVI变化趋势进行显著性分析,用于表示趋势变化置信度的高低。 式中,n为研究时序;U为误差平方和;Q为回.. -
《如何利用Excel对所得数据进行显著性分析?》 excel怎么做方差齐性检验
2020-12-29 02:36:13如何利用excel进行数据差异显著性分析excel进行显著性检验法与步骤:1.先找ADD-IN,数据分析工具data analysis tool。 Add-in的选项在File-> Option->Add Ins, 选analysis tool pack。2.会跳出来一口,再选中... -
基于python的显著性检验
2020-11-29 00:52:23print ('Two-sample t-statistic D = %6.3f, p-value = %6.4f' % (stat_val, p_val)) 计算两个序列的相关性,并做显著性检验 import scipy.stats as stats x = [76,81,78,76,76,78,76,78,98,88,76,66,44,67,65,59,... -
回归方程及回归系数的显著性检验
2020-12-11 09:53:34§3回归方程及回归系数得显著性检验1、回归方程得显著性检验(1)回归平方与与剩余平方与建立回归方程以后,回归效果如何呢?因变量与自变量就是否确实存在线性关系呢?这就是需要进行统计检验才能加以肯定或否定,为此,... -
Python实现显著性检验delong
2021-09-06 22:12:36Python 实现 显著性检验 delong import numpy as np from matplotlib import pyplot as plt import scipy.stats as st from sklearn import metrics class DelongTest(): def __init__(self,preds1,preds2,label,... -
Python SciPy 统计显著性检验(Statistical Significance Tests)
2020-12-20 06:17:131、什么是统计显著性检验?在统计中,统计意义是指产生的结果背后有原因,不是随机产生或偶然产生的。SciPy为我们提供了一个名为scipy.stats的模块,该模块具有执行统计显着性检验的功能。以下是执行此类测试时很重要... -
相关性和显著性检验学习笔记
2018-09-07 14:49:51相关性分析是指对两个或多个具备相关性的变量元素进行分析,从而衡量两个变量因素的相关密切程度。相关性的元素之间需要存在一定的联系或者概率才可以进行相关性分析,...为什么要对相关系数进行显著性检验? 因... -
R语言 相关性的显著性检验
2021-12-18 10:36:29在计算好相关系数以后,如何对它们进行统计显著性检验呢?常用的原假设为变量间不相关 (即总体的相关系数为0)。你可以使用cor.test()函数对单个的Pearson、Spearman和Kendall相关系数进行检验。简化后的使用格式为... -
matlab做多元线性回归后回归系数的显著性检验
2021-04-18 04:51:18if ~k fprintf('\r\r警告:通过一一对所有变量做显著性检验,已剔除所有变量!'); break; end beta_mao=beta_mao-beta_mao(beta_index)/cii(beta_index)*cij(beta_index,:); beta_mao(beta_index)=[]; % 这样更改... -
p-value显著性检验
2020-09-27 19:46:47https://www.cnblogs.com/lijingblog/p/11043513.html -
【多元统计分析】11.回归方程与回归系数的显著性检验
2020-11-04 08:56:01回归方程的预报精度 回顾总结 十一、回归方程与回归系数的显著性检验 回归方程的显著性检验,检验的是我们建立线性回归方程的合理性,因为我们不能肯定模型是正确的,也就是说我们需要检验 YYY与 x1,⋯ ,xmx_1,\... -
AFEchidna示例8--固定效应显著性检验
2021-06-29 21:03:48现已纠正,不过,固定效应是通过较粗放的卡方检验,结果会稍差异于ASReml。即便如此,对于学术研究,也已足够。 简单示例如下: HT <- echidna(fixed = height ~ 1+Prov, random = ~ Female+Block+Female:Block...