线性回归模型描述一个响应和一个或多个预测项之间的线性关系。然而,很多时候存在非线性关系。gydF4y2Ba非线性回归gydF4y2Ba描述一般的非线性模型。一类特殊的非线性模型,称为gydF4y2Ba广义线性模型gydF4y2Ba,使用线性方法。gydF4y2Ba
回想一下,线性模型具有这些特性:gydF4y2Ba
在每一组预测值上,响应具有均值的正态分布gydF4y2Baμ.gydF4y2Ba.gydF4y2Ba
系数矢量gydF4y2BabgydF4y2Ba定义线性组合gydF4y2BaXgydF4y2BabgydF4y2Ba的预测因素gydF4y2BaXgydF4y2Ba.gydF4y2Ba
该模型是gydF4y2Baμ.gydF4y2Ba=gydF4y2BaXgydF4y2BabgydF4y2Ba.gydF4y2Ba
在广义的线性模型中,这些特征是如下推广:gydF4y2Ba
对于预测器的每一组值,响应都有一个分布gydF4y2Ba正常的gydF4y2Ba,gydF4y2Ba一键gydF4y2Ba,gydF4y2Ba泊松gydF4y2Ba,gydF4y2BaγgydF4y2Ba,或gydF4y2Ba逆高斯分布gydF4y2Ba,参数包括平均值gydF4y2Baμ.gydF4y2Ba.gydF4y2Ba
系数矢量gydF4y2BabgydF4y2Ba定义线性组合gydF4y2BaXgydF4y2BabgydF4y2Ba的预测因素gydF4y2BaXgydF4y2Ba.gydF4y2Ba
一个gydF4y2Ba链接功能gydF4y2BafgydF4y2Ba将模型定义为gydF4y2BafgydF4y2Ba(gydF4y2Baμ.gydF4y2Ba)=gydF4y2BaXgydF4y2BabgydF4y2Ba.gydF4y2Ba
要开始拟合回归,请将数据转换为拟合函数所期望的形式。所有回归技术都是从数组中的输入数据开始的gydF4y2BaXgydF4y2Ba
响应数据在一个单独的向量中gydF4y2BaygydF4y2Ba
或表或数据集数组中的输入数据gydF4y2BaTBL.gydF4y2Ba
和响应数据作为列gydF4y2BaTBL.gydF4y2Ba
.输入数据的每一行代表一个观察。每列代表一个预测器(变量)。gydF4y2Ba
用于表或数据集数组gydF4y2BaTBL.gydF4y2Ba
,表示响应变量gydF4y2Ba'responsevar'gydF4y2Ba
名称值对:gydF4y2Ba
mdl = fitglm(tbl,gydF4y2Ba'responsevar'gydF4y2Ba,gydF4y2Ba'血压'gydF4y2Ba);gydF4y2Ba
默认情况下,响应变量是最后一列。gydF4y2Ba
您可以使用数字gydF4y2Ba分类gydF4y2Ba预测器。分类预测器是从固定的可能性集中获取值的预测器。gydF4y2Ba
对于数字数组gydF4y2BaXgydF4y2Ba
,用。表示分类预测因子gydF4y2Ba“分类”gydF4y2Ba
名称值对。例如,表示预测器gydF4y2Ba2gydF4y2Ba
和gydF4y2Ba3.gydF4y2Ba
六个是分类:gydF4y2Ba
mdl = fitglm (X, y,gydF4y2Ba“分类”gydF4y2Ba[2、3]);gydF4y2Ba%或等价gydF4y2Bamdl = fitglm (X, y,gydF4y2Ba“分类”gydF4y2Ba,逻辑([0 1 1 0 0]));gydF4y2Ba
用于表或数据集数组gydF4y2BaTBL.gydF4y2Ba
,拟合函数假设这些数据类型是分类的:gydF4y2Ba
逻辑向量gydF4y2Ba
分类向量gydF4y2Ba
字符数组gydF4y2Ba
字符串数组gydF4y2Ba
如果要指示数值预测器是分类的,请使用gydF4y2Ba“分类”gydF4y2Ba
名称值对。gydF4y2Ba
表示丢失的数字数据为gydF4y2Ba南gydF4y2Ba
.表示其他数据类型的缺失数据,请参阅gydF4y2Ba失踪组值gydF4y2Ba.gydF4y2Ba
对于一个gydF4y2Ba'二重子'gydF4y2Ba
数据矩阵模型gydF4y2BaXgydF4y2Ba
, 响应gydF4y2BaygydF4y2Ba
可以是:gydF4y2Ba
二进制列向量 - 每个条目代表成功(gydF4y2Ba1gydF4y2Ba
)或失败(gydF4y2Ba0gydF4y2Ba
).gydF4y2Ba
两列整数矩阵——第一列是每次观察的成功次数,第二列是该观察的试验次数。gydF4y2Ba
对于一个gydF4y2Ba'二重子'gydF4y2Ba
模型与表或数据集gydF4y2BaTBL.gydF4y2Ba
:gydF4y2Ba
使用gydF4y2BaResponseVargydF4y2Ba
的列的名称-值对gydF4y2BaTBL.gydF4y2Ba
这给出了每种观察中的成功次数。gydF4y2Ba
使用gydF4y2BaBinomialSizegydF4y2Ba
的列的名称-值对gydF4y2BaTBL.gydF4y2Ba
这给出了每次观察的试验次数。gydF4y2Ba
例如,从Excel创建数据集数组gydF4y2Ba®gydF4y2Ba电子表格:gydF4y2Ba
ds = dataset(gydF4y2Ba'xlsfile'gydF4y2Ba,gydF4y2Ba“hospital.xls”gydF4y2Ba,gydF4y2Ba...gydF4y2Ba'readobsnames'gydF4y2Ba,真正的);gydF4y2Ba
从工作区变量创建数据集数组:gydF4y2Ba
负载gydF4y2BaCarsmall.gydF4y2BaDS =数据集(MPG,重量);ds.year =序数(model_year);gydF4y2Ba
要从工作区变量创建一个表:gydF4y2Ba
负载gydF4y2BaCarsmall.gydF4y2BaTBL =表(MPG,重量);tbl.year =序数(model_year);gydF4y2Ba
例如,要从工作区变量创建数字数组:gydF4y2Ba
负载gydF4y2BaCarsmall.gydF4y2BaX =[重量马力汽缸Model_Year];y = MPG;gydF4y2Ba
从Excel电子表格创建数字数组:gydF4y2Ba
[x,xnames] = xlsread(gydF4y2Ba“hospital.xls”gydF4y2Ba);y = X (:, 4);gydF4y2Ba%反应Y是收缩压gydF4y2BaX (:, 4) = [];gydF4y2Ba从X矩阵中去掉ygydF4y2Ba
请注意非数字项,例如gydF4y2Ba性gydF4y2Ba
,不出现在gydF4y2BaXgydF4y2Ba
.gydF4y2Ba
通常,你的数据表明了广义线性模型的分布类型。gydF4y2Ba
响应数据类型gydF4y2Ba | 建议模型分布类型gydF4y2Ba |
---|---|
任意的实数gydF4y2Ba | “正常”gydF4y2Ba |
任何正数gydF4y2Ba | “伽马”gydF4y2Ba 要么gydF4y2Ba'逆高斯'gydF4y2Ba |
任何一个非负整数gydF4y2Ba | “泊松”gydF4y2Ba |
从0到的整数gydF4y2BangydF4y2Ba , 在哪里gydF4y2BangydF4y2Ba 是一个固定的正值gydF4y2Ba |
'二重子'gydF4y2Ba |
使用该模型分发类型设置gydF4y2Ba分布gydF4y2Ba
名称值对。选择模型类型后,选择链接功能以在平均值之间映射gydF4y2BaµgydF4y2Ba线性预测器gydF4y2BaXB.gydF4y2Ba.gydF4y2Ba
价值gydF4y2Ba | 描述gydF4y2Ba |
---|---|
“comploglog”gydF4y2Ba |
日志(日志((1 -gydF4y2BaµgydF4y2Ba))) =gydF4y2BaXB.gydF4y2Ba |
|
µgydF4y2Ba=gydF4y2BaXB.gydF4y2Ba |
|
日志(gydF4y2BaµgydF4y2Ba)=gydF4y2BaXB.gydF4y2Ba |
|
日志(gydF4y2BaµgydF4y2Ba/(1 -gydF4y2BaµgydF4y2Ba)) =gydF4y2BaXB.gydF4y2Ba |
|
日志(日志(gydF4y2BaµgydF4y2Ba)) =gydF4y2BaXB.gydF4y2Ba |
“probit”gydF4y2Ba |
φ.gydF4y2Ba1gydF4y2Ba(gydF4y2BaµgydF4y2Ba)=gydF4y2BaXB.gydF4y2Ba,其中Φ为正态(高斯)累积分布函数gydF4y2Ba |
“互惠”gydF4y2Ba ,默认为分发gydF4y2Ba“伽马”gydF4y2Ba |
µgydF4y2Ba1gydF4y2Ba=gydF4y2BaXB.gydF4y2Ba |
|
µgydF4y2BapgydF4y2Ba=gydF4y2BaXB.gydF4y2Ba |
表格的细胞阵列gydF4y2Ba |
用户指定的链接功能(参见gydF4y2Ba自定义链接功能gydF4y2Ba)gydF4y2Ba |
非默认链接功能主要适用于二项式模型。这些非默认链接功能是gydF4y2Ba“comploglog”gydF4y2Ba
,gydF4y2Ba'loglog'gydF4y2Ba
, 和gydF4y2Ba“probit”gydF4y2Ba
.gydF4y2Ba
link函数定义了这种关系gydF4y2BafgydF4y2Ba(gydF4y2BaµgydF4y2Ba)=gydF4y2BaXB.gydF4y2Ba在平均反应之间gydF4y2BaµgydF4y2Ba线性组合gydF4y2BaXB.gydF4y2Ba=gydF4y2BaXgydF4y2Ba*gydF4y2BabgydF4y2Ba的预测因素。您可以选择一个内置的链接函数,也可以通过指定链接函数来定义自己的链接函数gydF4y2BaFLgydF4y2Ba
,它的导数gydF4y2BaFDgydF4y2Ba
和它的逆gydF4y2BaFIgydF4y2Ba
:gydF4y2Ba
链接功能gydF4y2BaFLgydF4y2Ba
计算gydF4y2BafgydF4y2Ba(gydF4y2BaµgydF4y2Ba).gydF4y2Ba
连杆函数的导数gydF4y2BaFDgydF4y2Ba
计算gydF4y2BadfgydF4y2Ba(gydF4y2BaµgydF4y2Ba)/gydF4y2BadµgydF4y2Ba.gydF4y2Ba
逆函数gydF4y2BaFIgydF4y2Ba
计算gydF4y2BaggydF4y2Ba(gydF4y2BaXB.gydF4y2Ba)=gydF4y2BaµgydF4y2Ba.gydF4y2Ba
你可以用两种等价的方式来指定一个自定义链接函数。每种方法都包含接受表示值的单个数组的函数句柄gydF4y2BaµgydF4y2Ba要么gydF4y2BaXB.gydF4y2Ba,并返回相同大小的数组。功能句柄在单元格数组中或结构中:gydF4y2Ba
窗体的单元格数组gydF4y2Ba{FL FD FI}gydF4y2Ba
,包含三个函数句柄,使用gydF4y2Ba@gydF4y2Ba
,定义链接(gydF4y2BaFLgydF4y2Ba
),链接的衍生物(gydF4y2BaFDgydF4y2Ba
),以及反向链接(gydF4y2BaFIgydF4y2Ba
).gydF4y2Ba
结构gydF4y2Ba
有三个字段,每个字段包含使用gydF4y2Ba年代gydF4y2Ba
@gydF4y2Ba
:gydF4y2Ba
——链接功能gydF4y2Ba年代gydF4y2Ba
。关联gydF4y2Ba
- 链接功能的衍生gydF4y2Ba年代gydF4y2Ba
。衍生物gydF4y2Ba
—链路函数的逆gydF4y2Ba年代gydF4y2Ba
。逆gydF4y2Ba
例如,使用gydF4y2Ba“probit”gydF4y2Ba
链接功能:gydF4y2Ba
X = [2100 2300 2500 2700 2900gydF4y2Ba...gydF4y2Ba3100 3300 3500 3700 3900 4100 4300]';N = [48 42 31 34 31 21 23 23 21 16 17 21]';Y = [1 2 0 3 8 8 14 17 19 15 17 21];(x,[y n],gydF4y2Ba...gydF4y2Ba“线性”gydF4y2Ba,gydF4y2Ba“分配”gydF4y2Ba,gydF4y2Ba'二重子'gydF4y2Ba,gydF4y2Ba'关联'gydF4y2Ba,gydF4y2Ba“probit”gydF4y2Ba)gydF4y2Ba
G =广义线性回归模型:探测器(Y)〜1 + X1分布=二项式估计系数:估计SE TSTAT PVALUE(拦截)-7.3628 0.66815 -11.02 3.07010-28 x1 0.79 0.00021352 10.79 3.8274C-27 12观察,10个错误自由度分散度:1 CHI ^ 2统计与常数型号:241,p值= 2.25e-54gydF4y2Ba
您可以使用自定义链接函数执行相同的拟合,该函数相同地执行gydF4y2Ba“probit”gydF4y2Ba
链接功能:gydF4y2Ba
s = {@norminv, @ (x) 1. / normpdf (norminv (x)), @normcdf};(x,[y n],gydF4y2Ba...gydF4y2Ba“线性”gydF4y2Ba,gydF4y2Ba“分配”gydF4y2Ba,gydF4y2Ba'二重子'gydF4y2Ba,gydF4y2Ba'关联'gydF4y2Ba,s)gydF4y2Ba
g =广义线性回归模型:链接(y) ~ 1 + x1分布=二项式估计系数:估计SE tStat pValue(截距)-7.3628 0.66815 -11.02 3.0701e-28 x1 0.0023039 0.00021352 10.79 3.8274e-27 12个观测值,10个误差自由度gydF4y2Ba
这两种型号是一样的。gydF4y2Ba
同样,你也可以写作gydF4y2Ba年代gydF4y2Ba
作为结构而不是单元格阵列:gydF4y2Ba
s.Link = @norminv;s.Derivative = @(x) 1./normpdf(norminv(x));s.Inverse = @normcdf;(x,[y n],gydF4y2Ba...gydF4y2Ba“线性”gydF4y2Ba,gydF4y2Ba“分配”gydF4y2Ba,gydF4y2Ba'二重子'gydF4y2Ba,gydF4y2Ba'关联'gydF4y2Ba,s)gydF4y2Ba
g =广义线性回归模型:链接(y) ~ 1 + x1分布=二项式估计系数:估计SE tStat pValue(截距)-7.3628 0.66815 -11.02 3.0701e-28 x1 0.0023039 0.00021352 10.79 3.8274e-27 12个观测值,10个误差自由度gydF4y2Ba
有两种方法可以创建一个拟合型号。gydF4y2Ba
使用gydF4y2BafitglmgydF4y2Ba
当您对广义的线性模型有一个好主意时,或者稍后要调整模型以包括或排除某些术语时。gydF4y2Ba
使用gydF4y2BastepwiseglmgydF4y2Ba
当你想用逐步回归来拟合你的模型时。gydF4y2BastepwiseglmgydF4y2Ba
从一个模型(比如一个常数)开始,每次增加或减少一个项,每次以一种贪婪的方式选择最优项,直到无法进一步改进为止。使用逐步拟合找到一个好的模型,一个只有相关条款的模型。gydF4y2Ba
结果取决于起始模型。通常,从一个常量模型开始,可以得到一个小模型。从更多的项开始会导致一个更复杂的模型,但它具有更低的均方误差。gydF4y2Ba
在这两种情况下,为拟合函数提供一个模型(它是初始模型)gydF4y2BastepwiseglmgydF4y2Ba
).gydF4y2Ba
使用这些方法之一指定一个模型。gydF4y2Ba
的名字gydF4y2Ba | 模型类型gydF4y2Ba |
---|---|
“不变”gydF4y2Ba |
模型只包含一个常数(截距)项。gydF4y2Ba |
“线性”gydF4y2Ba |
模型包含每个预测器的截距和线性项。gydF4y2Ba |
'互动'gydF4y2Ba |
模型包含截距、线性项和不同预测因子对的所有乘积(没有平方项)。下载188bet金宝搏gydF4y2Ba |
“purequadratic”gydF4y2Ba |
模型包含截距、线性项和平方项。gydF4y2Ba |
'二次'gydF4y2Ba |
模型包含截距,线性术语,交互和平方术语。gydF4y2Ba |
'Poly.gydF4y2Ba |
模型是一个多项式,所有项都达到次gydF4y2Ba我gydF4y2Ba 在第一个预测因子,学位gydF4y2BajgydF4y2Ba 在第二个预测器等中使用标号gydF4y2Ba0gydF4y2Ba 通过gydF4y2Ba9gydF4y2Ba .例如,gydF4y2Ba“poly2111”gydF4y2Ba 有一个常数加上所有的线性和乘积项,也包含预测因子1的平方项。gydF4y2Ba |
一个条件矩阵gydF4y2BaTgydF4y2Ba
是一个gydF4y2BatgydF4y2Ba-经过-(gydF4y2BapgydF4y2Ba+ 1)矩阵指定模型中的术语,其中gydF4y2BatgydF4y2Ba是项的个数,gydF4y2BapgydF4y2Ba为预测变量的个数,+1表示响应变量。的价值gydF4y2BaT (i, j)gydF4y2Ba
是变量的指数吗gydF4y2BajgydF4y2Ba
在术语gydF4y2Ba我gydF4y2Ba
.gydF4y2Ba
例如,假设输入包括三个预测变量gydF4y2Bax1gydF4y2Ba
,gydF4y2Bax2gydF4y2Ba
, 和gydF4y2Bax3gydF4y2Ba
以及响应变量gydF4y2BaygydF4y2Ba
的顺序gydF4y2Bax1gydF4y2Ba
,gydF4y2Bax2gydF4y2Ba
,gydF4y2Bax3gydF4y2Ba
, 和gydF4y2BaygydF4y2Ba
.每一行的gydF4y2BaTgydF4y2Ba
代表一个术语:gydF4y2Ba
[0 0 0]gydF4y2Ba
-常数项或截距gydF4y2Ba
[0 1 0 0]gydF4y2Ba
- - - - - -gydF4y2Bax2gydF4y2Ba
;同样,gydF4y2Bax1 ^ 0 * x2 ^ 1 * x3 ^ 0gydF4y2Ba
[1 0 1 0]gydF4y2Ba
- - - - - -gydF4y2Bax1 * x3gydF4y2Ba
[2 0 0 0]gydF4y2Ba
- - - - - -gydF4y2Bax1 ^ 2gydF4y2Ba
[0 1 2 0]gydF4y2Ba
- - - - - -gydF4y2Bax2 * (x3 ^ 2)gydF4y2Ba
的gydF4y2Ba0gydF4y2Ba
在每个术语的末尾表示响应变量。通常,术语矩阵中零的列向量表示响应变量的位置。如果您在矩阵和列向量中有预测器和响应变量,则必须包含gydF4y2Ba0gydF4y2Ba
获取每行最后一列中的响应变量。gydF4y2Ba
模型规范的公式是表单的字符向量或字符串标量gydF4y2Ba
'gydF4y2Ba
,gydF4y2BaygydF4y2Ba
~gydF4y2Ba术语gydF4y2Ba
'gydF4y2Ba
ygydF4y2Ba
是响应名称。gydF4y2Ba
术语gydF4y2Ba
包含gydF4y2Ba
变量名称gydF4y2Ba
+gydF4y2Ba
包括下一个变量gydF4y2Ba
-gydF4y2Ba
排除下一个变量gydF4y2Ba
:gydF4y2Ba
定义一种互动,一种术语的产物gydF4y2Ba
*gydF4y2Ba
定义交互作用和所有低阶项gydF4y2Ba
^gydF4y2Ba
将预测器提升到一个指数,就像gydF4y2Ba*gydF4y2Ba
重复,所以gydF4y2Ba^gydF4y2Ba
也包括低阶项gydF4y2Ba
()gydF4y2Ba
组条件gydF4y2Ba
提示gydF4y2Ba
默认情况下,公式包括常数(拦截)术语。要从模型中排除常量术语,包括gydF4y2Ba-1gydF4y2Ba
的公式。gydF4y2Ba
例子:gydF4y2Ba
'y ~ x1 + x2 + x3'gydF4y2Ba
是一个带截距的三变量线性模型。gydF4y2Ba'y ~ x1 + x2 + x3 - 1'gydF4y2Ba
是一个无截距的三变量线性模型。gydF4y2Ba'y ~ x1 + x2 + x3 + x2^2'gydF4y2Ba
是一个三变量模型,拦截和agydF4y2Bax2 ^ 2gydF4y2Ba
学期。gydF4y2Ba'y ~ x1 + x2^2 + x3'gydF4y2Ba
和前面的例子一样,因为gydF4y2Bax2 ^ 2gydF4y2Ba
包括一个gydF4y2Bax2gydF4y2Ba
学期。gydF4y2Ba'y ~ x1 + x2 + x3 + x1:x2'gydF4y2Ba
包括一个gydF4y2Bax1 * x2gydF4y2Ba
学期。gydF4y2Ba'y ~ x1*x2 + x3'gydF4y2Ba
和前面的例子一样,因为gydF4y2BaX1 *x2 = X1 + x2 + X1:x2gydF4y2Ba
.gydF4y2Ba'y ~ x1*x2*x3 - x1:x2:x3'gydF4y2Ba
所有的相互作用gydF4y2Bax1gydF4y2Ba
,gydF4y2Bax2gydF4y2Ba
, 和gydF4y2Bax3gydF4y2Ba
,除了三方互动。gydF4y2Bay ~ x1*(x2 + x3 + x4)'gydF4y2Ba
所有的线性项,加上乘积下载188bet金宝搏gydF4y2Bax1gydF4y2Ba
和其他变量。gydF4y2Ba
使用拟合型号使用gydF4y2BafitglmgydF4y2Ba
要么gydF4y2BastepwiseglmgydF4y2Ba
.在它们之间选择gydF4y2Ba选择拟合方法和模型gydF4y2Ba.对于非正态分布的广义线性模型,给出gydF4y2Ba分布gydF4y2Ba
名称-值对,如gydF4y2Ba选择广义线性模型和链接函数gydF4y2Ba.例如,gydF4y2Ba
mdl = fitglm (X, y,gydF4y2Ba“线性”gydF4y2Ba,gydF4y2Ba“分布”gydF4y2Ba,gydF4y2Ba“泊松”gydF4y2Ba)gydF4y2Ba% 要么gydF4y2Bamdl = fitglm (X, y,gydF4y2Ba'二次'gydF4y2Ba,gydF4y2Ba...gydF4y2Ba“分布”gydF4y2Ba,gydF4y2Ba'二重子'gydF4y2Ba)gydF4y2Ba
拟合模型后,检查结果。gydF4y2Ba
当您输入线性回归模型的名称或输入时,线性回归模型将显示多个诊断gydF4y2BaDISP(MDL)gydF4y2Ba
.此显示给出了一些基本信息,以检查拟合模型是否充分代表数据。gydF4y2Ba
例如,将泊松模型拟合到由5个不影响响应的预测因子中的2个构建的数据中,并且没有截距项:gydF4y2Ba
RNG(gydF4y2Ba'默认'gydF4y2Ba)gydF4y2Ba%的再现性gydF4y2BaX = randn (100 5);mu = exp(x(:,[1 4 5])* [。4; .2; .3]);y = poissrnd(μ);mdl = fitglm (X, y,gydF4y2Ba...gydF4y2Ba“线性”gydF4y2Ba,gydF4y2Ba“分布”gydF4y2Ba,gydF4y2Ba“泊松”gydF4y2Ba)gydF4y2Ba
MDL =广义线性回归模型:log(y)〜1 + x1 + x2 + x3 + x4 + x5分布=泊松估计系数:估计SE tstat pvalue(截取)0.039829 0.120793 0.38551 0.0647 4.07936 5.0647 4.08952-07 x2 -0。03.4905 0.086685 -0.40266 0.6872 x3 -0.17826 0.093552 -1.9054 0.056722 x4 0.21929 0.09357 2.3436 0.019097 x5 0.28918 0.1094 2.6432 0.0082126 100 observations, 94 error degrees of freedom Dispersion: 1 Chi^2-statistic vs. constant model: 44.9, p-value = 1.55e-08
注意:gydF4y2Ba
显示中包含每个系数的估计值gydF4y2Ba估计gydF4y2Ba
柱子。这些值合理地附近真实值gydF4y2Ba[0。4;0;0;2、3)gydF4y2Ba
,可能除了的系数gydF4y2Bax3gydF4y2Ba
不是很近gydF4y2Ba0gydF4y2Ba
.gydF4y2Ba
系数估计有一个标准误差列。gydF4y2Ba
的报道gydF4y2BapValuegydF4y2Ba
派生自gydF4y2BatgydF4y2Ba预测器1,4和5的定期假设下的统计数据很小。这些是用于创建响应数据的三个预测因子gydF4y2BaygydF4y2Ba
.gydF4y2Ba
的gydF4y2BapValuegydF4y2Ba
为gydF4y2Ba(拦截)gydF4y2Ba
,gydF4y2Bax2gydF4y2Ba
和gydF4y2Bax3gydF4y2Ba
大于0.01。这三个预测因子没有用于创建响应数据gydF4y2BaygydF4y2Ba
.的gydF4y2BapValuegydF4y2Ba
为gydF4y2Bax3gydF4y2Ba
只是在gydF4y2Ba0。gydF4y2Ba
,因此可能被认为是可能重要的。gydF4y2Ba
显示包含卡方统计。gydF4y2Ba
诊断图帮助您识别异常值,并查看模型或拟合模型中的其他问题。为了说明这些图,考虑使用逻辑连接函数的二项式回归。gydF4y2Ba
的gydF4y2Ba物流模型gydF4y2Ba对比例数据很有用。它定义了比例之间的关系gydF4y2BapgydF4y2Ba和重量gydF4y2BawgydF4y2Ba由:gydF4y2Ba
日志[gydF4y2BapgydF4y2Ba/(1 -gydF4y2BapgydF4y2Ba) =gydF4y2BabgydF4y2Ba1gydF4y2Ba+gydF4y2BabgydF4y2Ba2gydF4y2BawgydF4y2Ba
这个例子符合二项模型的数据。这些数据是由gydF4y2Bacarbig.matgydF4y2Ba
,其中包含各种重量的大型汽车的测量数据。每一个重量gydF4y2BawgydF4y2Ba
有相应数量的汽车gydF4y2Ba全部的gydF4y2Ba
以及相应数量的低里程汽车gydF4y2Ba可怜的gydF4y2Ba
.gydF4y2Ba
假设值是合理的gydF4y2Ba可怜的gydF4y2Ba
跟随gydF4y2Ba一键gydF4y2Ba分布,试验的次数由gydF4y2Ba全部的gydF4y2Ba
成功的百分比取决于gydF4y2BawgydF4y2Ba
.通过使用带链接函数日志的广义线性模型,可以在逻辑模型的上下文中考虑此分发(gydF4y2BaµgydF4y2Ba/(1 -gydF4y2BaµgydF4y2Ba)) =gydF4y2BaXgydF4y2BabgydF4y2Ba.调用这个链接函数gydF4y2Ba分对数的gydF4y2Ba
.gydF4y2Ba
W = [2100 2300 2500 2700 2900 3100gydF4y2Ba...gydF4y2Ba3300 3500 3700 3900 4100 4300]'总= [48 42 31 31 21 23 23 21 16 17 21]';差= [1 2 0 3 8 8 14 17 19 15 17 21]'mdl = fitglm(w,[总计],gydF4y2Ba...gydF4y2Ba“线性”gydF4y2Ba,gydF4y2Ba“分布”gydF4y2Ba,gydF4y2Ba'二重子'gydF4y2Ba,gydF4y2Ba'关联'gydF4y2Ba,gydF4y2Ba分对数的gydF4y2Ba)gydF4y2Ba
MDL =通用线性回归模型:Logit(Y)〜1 + X1分布=二项式估计系数:估计SE TSTAT PVALUE(截距)-13.38 1.394 -9.5986 8.10192-22 x1 0.11212 0.0.00044258 9.4739E-21 3.4739E-21 3.4739E-21 3.4739E-21 3.4739E-21 12观察结果,10次错误自由度分散度:1 chi ^ 2统计与常数型号:242,p值= 1.3e-54gydF4y2Ba
看看模型与数据的吻合程度如何。gydF4y2Ba
plotslice(mdl)gydF4y2Ba
这个拟合看起来相当好,置信范围相当宽。gydF4y2Ba
要查看更多细节,请创建一个杠杆图。gydF4y2Ba
Plotdiagnostics(MDL)gydF4y2Ba
这是典型的由预测变量排序的回归。对于具有相对极端预测值的点(在任意方向上),每个拟合点的杠杆较高,对于具有平均预测值的点,杠杆较低。在有多个预测器的例子中,并且点不是按预测值排序的,这个图可以帮助您确定哪些观察值具有较高的杠杆作用,因为它们是由它们的预测值衡量的离群值。gydF4y2Ba
有几块剩余曲线可以帮助您发现模型或数据中的错误,异常值或相关性。最简单的剩余曲线是默认的直方图图,其显示了残差及其频率的范围,以及概率图,概率图显示了残差的分布方式与具有匹配方差的正态分布。gydF4y2Ba
该示例显示了适合泊松模型的残留图。数据建设有两个不影响响应的预测因子中有两个,而且没有截距术语:gydF4y2Ba
RNG(gydF4y2Ba'默认'gydF4y2Ba)gydF4y2Ba%的再现性gydF4y2BaX = randn (100 5);mu = exp(X(:,[1 4 5])*[2;1;.5]);y = poissrnd(μ);mdl = fitglm (X, y,gydF4y2Ba...gydF4y2Ba“线性”gydF4y2Ba,gydF4y2Ba“分布”gydF4y2Ba,gydF4y2Ba“泊松”gydF4y2Ba);gydF4y2Ba
检验残差:gydF4y2Ba
plotResiduals (mdl)gydF4y2Ba
大多数残差聚在0附近,有几个在±18附近。看看另一个残差图。gydF4y2Ba
plotResiduals (mdlgydF4y2Ba'适合'gydF4y2Ba)gydF4y2Ba
较大的残差似乎与拟合值的大小没有多大关系。gydF4y2Ba
也许概率剧情更具信息量。gydF4y2Ba
plotResiduals (mdlgydF4y2Ba“概率”gydF4y2Ba)gydF4y2Ba
现在很清楚了。残差不服从正态分布。相反,它们的尾巴更肥,很像潜在的泊松分布。gydF4y2Ba
这个例子展示了如何理解每个预测器对回归模型的影响,以及如何修改模型以删除不必要的术语。gydF4y2Ba
从人工数据中的一些预测器中创建模型。数据不使用第二列和第三列gydF4y2BaXgydF4y2Ba
.因此,您希望模型不会对这些预测器展示很大依赖。gydF4y2Ba
RNG(gydF4y2Ba'默认'gydF4y2Ba)gydF4y2Ba%的再现性gydF4y2BaX = randn (100 5);mu = exp(X(:,[1 4 5])*[2;1;.5]);y = poissrnd(μ);mdl = fitglm (X, y,gydF4y2Ba...gydF4y2Ba“线性”gydF4y2Ba,gydF4y2Ba“分布”gydF4y2Ba,gydF4y2Ba“泊松”gydF4y2Ba);gydF4y2Ba
检查响应的切片图。这分别显示了每个预测器的效果。gydF4y2Ba
plotslice(mdl)gydF4y2Ba
第一个预测者的规模超过了情节。使用gydF4y2Ba预测因子gydF4y2Ba菜单。gydF4y2Ba
现在很清楚,预测因子2和3几乎没有影响。gydF4y2Ba
您可以拖动单个预测值,这些值由蓝色虚线表示。您还可以在同时置信范围和非同时置信范围之间进行选择,它们由红色虚线表示。拖动预测器线可以确认预测器2和3几乎没有影响。gydF4y2Ba
使用either删除不必要的预测器gydF4y2BaremoveTermsgydF4y2Ba
要么gydF4y2Ba一步gydF4y2Ba
.使用gydF4y2Ba一步gydF4y2Ba
如果在移除另一个术语后,可以更加安全。但是,有时候gydF4y2BaremoveTermsgydF4y2Ba
可以有效的时候gydF4y2Ba一步gydF4y2Ba
没有继续。在这种情况下,两者提供了相同的结果。gydF4y2Ba
mdl1 = removeTerms (mdl,gydF4y2Ba“x2 + x3”gydF4y2Ba)gydF4y2Ba
mdl1 =广义线性回归模型:日志(y) ~ 1 + x1 + x4 + x5 =泊松分布估计系数:估计SE tStat pValue x1(拦截)0.17604 0.062215 2.8295 0.004662 0.98521 0.026393 37.328 5.6696 1.9122 0.024638 77.614 0 x4 e - 305 x5 0.61321 0.038435 15.955 2.6473 e-57 100观察,96错误自由度分散:1 Chi^2-statistic vs. constant model: 4.97e+04, p-value = 0gydF4y2Ba
mdl1 =步骤(mdl,gydF4y2Ba“NSteps”gydF4y2Ba,5,gydF4y2Ba“上”gydF4y2Ba,gydF4y2Ba“线性”gydF4y2Ba)gydF4y2Ba
1.删除X3,偏差= 93.856,p p = 0.97807 2.卸下X2,偏差= 96.333,CHI2STAT = 2.4769,PVALUE = 0.11553 MDL1 =广义线性回归模型:log(y)〜1 + x1 + x4 +X5 =分布泊松估计系数:估计SE TSTAT p值(截距)0.17604 0.062215 2.8295 0.004662 X1 1.9122 0.024638 77.614 0 X4 0.98521 0.026393 37.328 5.6696e-305 X5 0.61321 0.038435 15.955 2.6473e-57 100观察,96个错误自由度分散体:1CHI ^ 2统计与常量型号:4.97E + 04,p值= 0gydF4y2Ba
有三种方法可以使用线性模型来预测对新数据的响应:gydF4y2Ba
预测gydF4y2Ba
的gydF4y2Ba预测gydF4y2Ba
方法给出了平均响应的预测,如果需要,还提供了置信范围。gydF4y2Ba
这个例子展示了如何预测和获取预测的置信区间gydF4y2Ba预测gydF4y2Ba
方法。gydF4y2Ba
从人工数据中的一些预测器中创建模型。数据不使用第二列和第三列gydF4y2BaXgydF4y2Ba
.所以你期望这个模型不会显示出对这些预测因子的依赖。逐步构建模型,自动包括相关预测器。gydF4y2Ba
RNG(gydF4y2Ba'默认'gydF4y2Ba)gydF4y2Ba%的再现性gydF4y2BaX = randn (100 5);mu = exp(X(:,[1 4 5])*[2;1;.5]);y = poissrnd(μ);mdl = stepwiseglm (X, y,gydF4y2Ba...gydF4y2Ba“不变”gydF4y2Ba,gydF4y2Ba'上'gydF4y2Ba,gydF4y2Ba“线性”gydF4y2Ba,gydF4y2Ba“分布”gydF4y2Ba,gydF4y2Ba“泊松”gydF4y2Ba);gydF4y2Ba
1.添加x1,偏差= 2515.02869,pvalue = 0 2.添加x4,偏差= 328.39679,chi2stat = 2186.6319,pvalue = 0 3.添加x5,偏差= 96.3326,chi2stat = 232.0642,pvalue = 2.114384e-52.gydF4y2Ba
生成一些新数据,并评估数据的预测。gydF4y2Ba
Xnew = randn(3,5) + repmat([1 2 3 4 5],[3,1]); / /重新定义gydF4y2Ba% 新数据gydF4y2Ba[Ynew,Ynewci] =预测(MDL,Xnew)gydF4y2Ba
ynewci = 1.0e+04 * 0.0821 0.1555 1.2167 2.4811 2.8419 4.9407gydF4y2Ba
Feval.gydF4y2Ba
当您从表或数据集数组构造模型时,gydF4y2BaFeval.gydF4y2Ba
通常比预测平均响应更方便gydF4y2Ba预测gydF4y2Ba
.然而,gydF4y2BaFeval.gydF4y2Ba
不提供信心范围。gydF4y2Ba
此示例显示如何使用该示例预测平均响应gydF4y2BaFeval.gydF4y2Ba
方法。gydF4y2Ba
从人工数据中的一些预测器中创建模型。数据不使用第二列和第三列gydF4y2BaXgydF4y2Ba
.所以你期望这个模型不会显示出对这些预测因子的依赖。逐步构建模型,自动包括相关预测器。gydF4y2Ba
RNG(gydF4y2Ba'默认'gydF4y2Ba)gydF4y2Ba%的再现性gydF4y2BaX = randn (100 5);mu = exp(X(:,[1 4 5])*[2;1;.5]);y = poissrnd(μ);x = array2table(x);gydF4y2Ba创建数据表gydF4y2Bay = Array2table(y);tbl = [x y];mdl = stepwiseglm(tbl,gydF4y2Ba...gydF4y2Ba“不变”gydF4y2Ba,gydF4y2Ba'上'gydF4y2Ba,gydF4y2Ba“线性”gydF4y2Ba,gydF4y2Ba“分布”gydF4y2Ba,gydF4y2Ba“泊松”gydF4y2Ba);gydF4y2Ba
1.添加x1,偏差= 2515.02869,pvalue = 0 2.添加x4,偏差= 328.39679,chi2stat = 2186.6319,pvalue = 0 3.添加x5,偏差= 96.3326,chi2stat = 232.0642,pvalue = 2.114384e-52.gydF4y2Ba
生成一些新数据,并评估数据的预测。gydF4y2Ba
Xnew = randn(3,5) + repmat([1 2 3 4 5],[3,1]); / /重新定义gydF4y2Ba% 新数据gydF4y2BaYnew = Feval(MDL,Xnew(:,1),Xnew(:,4),Xnew(:,5))gydF4y2Ba%只需要预测因子1,4,5gydF4y2Ba
Ynew = 1.0e + 04 * 0.1130 1.7375 3.7471gydF4y2Ba
同等,gydF4y2Ba
Ynew = Feval(MDL,Xnew(:,[1 4 5]))gydF4y2Ba%只需要预测因子1,4,5gydF4y2Ba
Ynew = 1.0e + 04 * 0.1130 1.7375 3.7471gydF4y2Ba
随机gydF4y2Ba
的gydF4y2Ba随机gydF4y2Ba
方法为指定的预测值值生成新的随机响应值。响应值的分布是模型中使用的分布。gydF4y2Ba随机gydF4y2Ba
计算从预测器,估计系数和链接功能的分布的平均值。对于诸如正常的分布,该模型还提供了对响应方差的估计。对于二项式和泊松分布,响应的方差由平均值决定;gydF4y2Ba随机gydF4y2Ba
不使用单独的“色散”估计。gydF4y2Ba
该示例演示如何使用gydF4y2Ba随机gydF4y2Ba
方法。gydF4y2Ba
从人工数据中的一些预测器中创建模型。数据不使用第二列和第三列gydF4y2BaXgydF4y2Ba
.所以你期望这个模型不会显示出对这些预测因子的依赖。逐步构建模型,自动包括相关预测器。gydF4y2Ba
RNG(gydF4y2Ba'默认'gydF4y2Ba)gydF4y2Ba%的再现性gydF4y2BaX = randn (100 5);mu = exp(X(:,[1 4 5])*[2;1;.5]);y = poissrnd(μ);mdl = stepwiseglm (X, y,gydF4y2Ba...gydF4y2Ba“不变”gydF4y2Ba,gydF4y2Ba'上'gydF4y2Ba,gydF4y2Ba“线性”gydF4y2Ba,gydF4y2Ba“分布”gydF4y2Ba,gydF4y2Ba“泊松”gydF4y2Ba);gydF4y2Ba
1.添加x1,偏差= 2515.02869,pvalue = 0 2.添加x4,偏差= 328.39679,chi2stat = 2186.6319,pvalue = 0 3.添加x5,偏差= 96.3326,chi2stat = 232.0642,pvalue = 2.114384e-52.gydF4y2Ba
生成一些新数据,并评估数据的预测。gydF4y2Ba
Xnew = randn(3,5) + repmat([1 2 3 4 5],[3,1]); / /重新定义gydF4y2Ba% 新数据gydF4y2BaXnew ysim =随机(mdl)gydF4y2Ba
Ysim = 1111 17121 37457gydF4y2Ba
预测从gydF4y2Ba随机gydF4y2Ba
是泊松样本,所以是整数。gydF4y2Ba
评估gydF4y2Ba随机gydF4y2Ba
方法再次,结果变化。gydF4y2Ba
Xnew ysim =随机(mdl)gydF4y2Ba
Ysim = 1175 17320 37126gydF4y2Ba
模型显示包含足够的信息,以使其他人能够以理论意义重新创建模型。例如,gydF4y2Ba
RNG(gydF4y2Ba'默认'gydF4y2Ba)gydF4y2Ba%的再现性gydF4y2BaX = randn (100 5);mu = exp(X(:,[1 4 5])*[2;1;.5]);y = poissrnd(μ);mdl = stepwiseglm (X, y,gydF4y2Ba...gydF4y2Ba“不变”gydF4y2Ba,gydF4y2Ba'上'gydF4y2Ba,gydF4y2Ba“线性”gydF4y2Ba,gydF4y2Ba“分布”gydF4y2Ba,gydF4y2Ba“泊松”gydF4y2Ba)gydF4y2Ba
1.添加x1,偏差= 2515.02869,pvalue = 0 2.添加x4,偏差= 328.39679,chi2stat = 2186.6319,pvalue = 0 3.添加x5,偏差= 96.3326,chi2stat = 232.0642,pvalue = 2.114384e-52.mdl = Generalized Linear regression model: log(y) ~ 1 + x1 + x4 + x5 Distribution = Poisson Estimated Coefficients: Estimate SE tStat pValue (Intercept) 0.17604 0.062215 2.8295 0.004662 x1 1.9122 0.024638 77.614 0 x4 0.98521 0.026393 37.328 5.6696e-305 x5 0.61321 0.038435 15.955 2.6473e-57 100 observations, 96 error degrees of freedom Dispersion: 1 Chi^2-statistic vs. constant model: 4.97e+04, p-value = 0
您也可以以编程方式访问模型描述。例如,gydF4y2Ba
mdl.Coefficients.EstimategydF4y2Ba
Ans = 0.1760 1.9122 0.9852 0.6132gydF4y2Ba
mdl.formula.gydF4y2Ba
ans = log(y)〜1 + x1 + x4 + x5gydF4y2Ba
[1] Collett,D。gydF4y2Ba模拟二进制数据gydF4y2Ba.纽约:查普曼与霍尔出版社,2002年出版。gydF4y2Ba
[2] Dobson,A. J.gydF4y2Ba广义线性模型导论gydF4y2Ba.纽约:1990年Chapman&Hall。gydF4y2Ba
P. McCullagh和J. A. Nelder。gydF4y2Ba广义线性模型gydF4y2Ba.纽约:1990年Chapman&Hall。gydF4y2Ba
Neter, J., M. H. Kutner, C. J. Nachtsheim, W. Wasserman。gydF4y2Ba应用线性统计模型gydF4y2Ba,第四版。欧文,芝加哥,1996年。gydF4y2Ba