主要内容gydF4y2Ba

广义线性模型gydF4y2Ba

广义线性模型是什么?gydF4y2Ba

线性回归模型描述线性响应和一个或多个预测条件之间的关系。然而,很多时候,存在非线性关系。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

准备数据gydF4y2Ba

开始拟合回归,把你的数据成一种拟合函数。数组中所有回归技术开始输入数据gydF4y2BaXgydF4y2Ba在一个单独的向量和响应数据gydF4y2BaygydF4y2Ba、表中输入数据或数据集的数组gydF4y2Ba资源描述gydF4y2Ba和响应数据列gydF4y2Ba资源描述gydF4y2Ba。输入数据的每一行代表一个观察。每一列代表一个预测指标(变量)。gydF4y2Ba

对于一个表或数据集的数组gydF4y2Ba资源描述gydF4y2Ba,表明响应变量gydF4y2Ba“ResponseVar”gydF4y2Ba名称-值对:gydF4y2Ba

mdl = fitglm(资源描述,gydF4y2Ba“ResponseVar”gydF4y2Ba,gydF4y2Ba“血压”gydF4y2Ba);gydF4y2Ba

默认的响应变量是最后一列。gydF4y2Ba

您可以使用数字gydF4y2Ba分类gydF4y2Ba预测因子。分类预测是将值从一组固定的可能性。gydF4y2Ba

  • 为一个数值数组gydF4y2BaXgydF4y2Ba,表明分类预测使用gydF4y2Ba“分类”gydF4y2Ba名称-值对。例如,表明预测gydF4y2Ba2gydF4y2Ba和gydF4y2Ba3gydF4y2Ba的六个分类:gydF4y2Ba

    mdl = fitglm (X, y,gydF4y2Ba“分类”gydF4y2Ba[2、3]);gydF4y2Ba%或等价gydF4y2Bamdl = fitglm (X, y,gydF4y2Ba“分类”gydF4y2Ba、逻辑([0 1 1 0 0 0]));gydF4y2Ba
  • 对于一个表或数据集的数组gydF4y2Ba资源描述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模型与表或数据集gydF4y2Ba资源描述gydF4y2Ba:gydF4y2Ba

    • 使用gydF4y2BaResponseVargydF4y2Ba指定列的名称-值对gydF4y2Ba资源描述gydF4y2Ba出成功的数量在每一个观察。gydF4y2Ba

    • 使用gydF4y2BaBinomialSizegydF4y2Ba指定列的名称-值对gydF4y2Ba资源描述gydF4y2Ba出的数量在每个观测试验。gydF4y2Ba

数据数组的输入和响应数据gydF4y2Ba

例如,要创建一个Excel数据数组gydF4y2Ba®gydF4y2Ba电子表格:gydF4y2Ba

ds =数据集(gydF4y2Ba“XLSFile”gydF4y2Ba,gydF4y2Ba“hospital.xls”gydF4y2Ba,gydF4y2Ba…gydF4y2Ba“ReadObsNames”gydF4y2Ba,真正的);gydF4y2Ba

从工作区中创建一个数据数组变量:gydF4y2Ba

负载gydF4y2BacarsmallgydF4y2Bads =数据集(MPG、重量);ds。年=序数(Model_Year);gydF4y2Ba

表的输入和响应数据gydF4y2Ba

从工作区中创建一个表变量:gydF4y2Ba

负载gydF4y2BacarsmallgydF4y2Ba台=表(MPG、重量);资源描述。年=序数(Model_Year);gydF4y2Ba

数字矩阵输入数据,为响应数值向量gydF4y2Ba

例如,从工作空间变量来创建数值数组:gydF4y2Ba

负载gydF4y2BacarsmallgydF4y2BaX =[重量马力圆柱体Model_Year];y = MPG;gydF4y2Ba

从Excel电子表格来创建数值数组:gydF4y2Ba

[X, Xnames] = xlsread (gydF4y2Ba“hospital.xls”gydF4y2Ba);y = X (:, 4);gydF4y2Ba%响应y是收缩压gydF4y2BaX (:, 4) = [];gydF4y2Ba%去除X y矩阵gydF4y2Ba

注意,非数字条目,如gydF4y2Ba性gydF4y2Ba,不要出现gydF4y2BaXgydF4y2Ba。gydF4y2Ba

选择广义线性模型和链接功能gydF4y2Ba

通常,您的数据表明广义线性模型的分布类型。gydF4y2Ba

响应数据类型gydF4y2Ba 建议的模型分布类型gydF4y2Ba
任意的实数gydF4y2Ba “正常”gydF4y2Ba
任何正数gydF4y2Ba “伽马”gydF4y2Ba或gydF4y2Ba逆高斯分布的gydF4y2Ba
任何一个非负整数gydF4y2Ba “泊松”gydF4y2Ba
整数从0到gydF4y2BangydF4y2Ba,在那里gydF4y2BangydF4y2Ba是一个固定的积极价值gydF4y2Ba “二”gydF4y2Ba

设置模型分布类型gydF4y2Ba分布gydF4y2Ba名称-值对。在选择你的模型类型,选择一个链接之间的函数映射的意思gydF4y2BaµgydF4y2Ba和线性预测gydF4y2BaXbgydF4y2Ba。gydF4y2Ba

价值gydF4y2Ba 描述gydF4y2Ba
“comploglog”gydF4y2Ba

日志(日志((1 -gydF4y2BaµgydF4y2Ba)))=gydF4y2BaXbgydF4y2Ba

“身份”gydF4y2Ba,默认的分布gydF4y2Ba“正常”gydF4y2Ba

µgydF4y2Ba=gydF4y2BaXbgydF4y2Ba

“日志”gydF4y2Ba,默认的分布gydF4y2Ba“泊松”gydF4y2Ba

日志(gydF4y2BaµgydF4y2Ba)=gydF4y2BaXbgydF4y2Ba

分对数的gydF4y2Ba,默认的分布gydF4y2Ba“二”gydF4y2Ba

日志(gydF4y2BaµgydF4y2Ba/ (1 -gydF4y2BaµgydF4y2Ba))=gydF4y2BaXbgydF4y2Ba

“重对数”gydF4y2Ba

日志(日志(gydF4y2BaµgydF4y2Ba))=gydF4y2BaXbgydF4y2Ba

“probit”gydF4y2Ba

ΦgydF4y2Ba1gydF4y2Ba(gydF4y2BaµgydF4y2Ba)=gydF4y2BaXbgydF4y2Ba,Φ正常累积分布函数(高斯)gydF4y2Ba

“互惠”gydF4y2Ba,默认的分布gydF4y2Ba“伽马”gydF4y2Ba

µgydF4y2Ba1gydF4y2Ba=gydF4y2BaXbgydF4y2Ba

pgydF4y2Ba(数量),默认的分布gydF4y2Ba逆高斯分布的gydF4y2Ba(与gydF4y2BapgydF4y2Ba= 2gydF4y2Ba)gydF4y2Ba

µgydF4y2BapgydF4y2Ba=gydF4y2BaXbgydF4y2Ba

单元阵列的形式gydF4y2Ba{FL FD FI}gydF4y2Ba,包含三个函数处理使用gydF4y2Ba@gydF4y2Ba定义链接(gydF4y2BaFLgydF4y2Ba的导数),链接(gydF4y2BaFDgydF4y2Ba)和反向链接(gydF4y2BaFIgydF4y2Ba)。或者,一个结构的函数处理领域gydF4y2Ba链接gydF4y2Ba包含gydF4y2BaFLgydF4y2Ba,这个领域gydF4y2Ba导数gydF4y2Ba包含gydF4y2BaFDgydF4y2Ba,场gydF4y2Ba逆gydF4y2Ba包含gydF4y2BaFIgydF4y2Ba。gydF4y2Ba

指定的函数(见链接gydF4y2Ba自定义链接功能gydF4y2Ba)gydF4y2Ba

默认的链接功能主要用于二项式模型。这些功能是默认的链接gydF4y2Ba“comploglog”gydF4y2Ba,gydF4y2Ba“重对数”gydF4y2Ba,gydF4y2Ba“probit”gydF4y2Ba。gydF4y2Ba

自定义链接功能gydF4y2Ba

函数定义的链接关系gydF4y2BafgydF4y2Ba(gydF4y2BaµgydF4y2Ba)=gydF4y2BaXbgydF4y2Ba之间的平均响应gydF4y2BaµgydF4y2Ba和线性组合gydF4y2BaXbgydF4y2Ba=gydF4y2BaXgydF4y2Ba*gydF4y2BabgydF4y2Ba的预测因素。你可以选择其中一个内置的链接功能或定义自己的指定链接功能gydF4y2BaFLgydF4y2Ba,它的导数gydF4y2BaFDgydF4y2Ba和它的逆矩阵gydF4y2BaFIgydF4y2Ba:gydF4y2Ba

  • 链接功能gydF4y2BaFLgydF4y2Ba计算gydF4y2BafgydF4y2Ba(gydF4y2BaµgydF4y2Ba)。gydF4y2Ba

  • 联系函数的导数gydF4y2BaFDgydF4y2Ba计算gydF4y2BadfgydF4y2Ba(gydF4y2BaµgydF4y2Ba)/gydF4y2BadµgydF4y2Ba。gydF4y2Ba

  • 逆函数gydF4y2BaFIgydF4y2Ba计算gydF4y2BaggydF4y2Ba(gydF4y2BaXbgydF4y2Ba)=gydF4y2BaµgydF4y2Ba。gydF4y2Ba

您可以指定一个自定义链接功能的两种等效方法。每个方法都包含函数接受一个数组的值代表的处理gydF4y2BaµgydF4y2Ba或gydF4y2BaXbgydF4y2Ba,并返回一个数组相同的大小。函数句柄是在细胞数组或结构:gydF4y2Ba

  • 单元阵列的形式gydF4y2Ba{FL FD FI}gydF4y2Ba,包含三个功能处理,使用创建的gydF4y2Ba@gydF4y2Ba定义链接(gydF4y2BaFLgydF4y2Ba的导数),链接(gydF4y2BaFDgydF4y2Ba)和反向链接(gydF4y2BaFIgydF4y2Ba)。gydF4y2Ba

  • 结构gydF4y2Ba年代gydF4y2Ba有三个字段,每个包含一个函数处理使用gydF4y2Ba@gydF4y2Ba:gydF4y2Ba

    • 年代gydF4y2BalinkgydF4y2Ba——链接功能gydF4y2Ba

    • 年代gydF4y2Ba.DerivativegydF4y2Ba——链接函数的导数gydF4y2Ba

    • 年代gydF4y2Ba.InversegydF4y2Ba——反向链接的功能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日)';g = fitglm (x, y [n],gydF4y2Ba…gydF4y2Ba“线性”gydF4y2Ba,gydF4y2Ba“分配”gydF4y2Ba,gydF4y2Ba“二”gydF4y2Ba,gydF4y2Ba“链接”gydF4y2Ba,gydF4y2Ba“probit”gydF4y2Ba)gydF4y2Ba
g =广义线性回归模型:probit (y) ~ 1 + x1 =二项分布估计系数:估计SE tStat pValue(拦截)即使x1 0.0023039 0.00021352 10.79 3.0701 -7.3628 0.66815 -11.02 3.8274 e-27 12观察,10自由度误差分散:1 x ^ 2-statistic与常数模型:241年,假定值= 2.25 e-54gydF4y2Ba

你可以执行相同的适合使用自定义链接执行相同的函数gydF4y2Ba“probit”gydF4y2Ba链接功能:gydF4y2Ba

s = {@norminv, @ (x) 1. / normpdf (norminv (x)), @normcdf};g = fitglm (x, y [n],gydF4y2Ba…gydF4y2Ba“线性”gydF4y2Ba,gydF4y2Ba“分配”gydF4y2Ba,gydF4y2Ba“二”gydF4y2Ba,gydF4y2Ba“链接”gydF4y2Ba,年代)gydF4y2Ba
g =广义线性回归模型:链接(y) ~ 1 + x1 =二项分布估计系数:估计SE tStat pValue(拦截)即使x1 0.0023039 0.00021352 10.79 3.0701 -7.3628 0.66815 -11.02 3.8274 e-27 12观察,10自由度误差分散:1 x ^ 2-statistic与常数模型:241年,假定值= 2.25 e-54gydF4y2Ba

两个模型都是相同的。gydF4y2Ba

同样,您可以编写gydF4y2Ba年代gydF4y2Ba作为一个结构而不是单元阵列的功能处理:gydF4y2Ba

年代。链接= @norminv;年代。= @ (1. x) / normpdf导数(norminv (x));年代。逆= @normcdf;g = fitglm (x, y [n],gydF4y2Ba…gydF4y2Ba“线性”gydF4y2Ba,gydF4y2Ba“分配”gydF4y2Ba,gydF4y2Ba“二”gydF4y2Ba,gydF4y2Ba“链接”gydF4y2Ba,年代)gydF4y2Ba
g =广义线性回归模型:链接(y) ~ 1 + x1 =二项分布估计系数:估计SE tStat pValue(拦截)即使x1 0.0023039 0.00021352 10.79 3.0701 -7.3628 0.66815 -11.02 3.8274 e-27 12观察,10自由度误差分散:1 x ^ 2-statistic与常数模型:241年,假定值= 2.25 e-54gydF4y2Ba

选择合适的方法和模型gydF4y2Ba

有两种方法可以创建一个拟合模型。gydF4y2Ba

  • 使用gydF4y2BafitglmgydF4y2Ba当你有一个好主意你的广义线性模型,或者当你想要调整你的模型后,包括或排除某些条款。gydF4y2Ba

  • 使用gydF4y2BastepwiseglmgydF4y2Ba当你想要适合你使用逐步回归模型。gydF4y2BastepwiseglmgydF4y2Ba从一个模型,如一个常数,并添加或减去一次一个,每次选择一个最优的术语在一个贪婪的时尚,直到它不能进一步改善。使用分段拟合来找到一个好的模型,只有相关的条款。gydF4y2Ba

    结果依赖于初始模型。通常情况下,从一个常数模型会导致一个小模型。从更多的方面可能会导致一个更复杂的模型,但它有较低的均方误差。gydF4y2Ba

在这两种情况下,提供了一个模型来拟合函数(即模型开始gydF4y2BastepwiseglmgydF4y2Ba)。gydF4y2Ba

指定一个模型使用这些方法之一。gydF4y2Ba

短暂的型号名称gydF4y2Ba

的名字gydF4y2Ba 模型类型gydF4y2Ba
“不变”gydF4y2Ba 模型只包含一个常数(拦截)。gydF4y2Ba
“线性”gydF4y2Ba 模型包含一个为每个预测拦截和线性的条件。gydF4y2Ba
“互动”gydF4y2Ba 模型包含一个拦截,线性条件,所有的产品对不同的预测(无平方项)。下载188bet金宝搏gydF4y2Ba
“purequadratic”gydF4y2Ba 模型包含一个拦截,线性项,平方项。gydF4y2Ba
“二次”gydF4y2Ba 模型包含一个拦截,线性项,互动,平方项。gydF4y2Ba
“聚gydF4y2BaijkgydF4y2Ba”gydF4y2Ba 模型是一个多项式与学位的所有条款gydF4y2Ba我gydF4y2Ba在第一个预测,学位gydF4y2BajgydF4y2Ba在第二个预测等。使用数字gydF4y2Ba0gydF4y2Ba通过gydF4y2Ba9gydF4y2Ba。例如,gydF4y2Ba“poly2111”gydF4y2Ba常数加上所有线性和产品条款,也包含与预测1的平方。gydF4y2Ba

计算矩阵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 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,gydF4y2Ba

  • ygydF4y2Ba是响应的名字。gydF4y2Ba

  • 条款gydF4y2Ba包含gydF4y2Ba

    • 变量名gydF4y2Ba

    • +gydF4y2Ba包括下一个变量gydF4y2Ba

    • - - - - - -gydF4y2Ba排除下一个变量gydF4y2Ba

    • :gydF4y2Ba定义一个互动,一个产品的条件gydF4y2Ba

    • *gydF4y2Ba定义一个互动和所有低阶项gydF4y2Ba

    • ^gydF4y2Ba提高预测能力,完全一样gydF4y2Ba*gydF4y2Ba重复,所以gydF4y2Ba^gydF4y2Ba包括低阶项gydF4y2Ba

    • ()gydF4y2Ba组条件gydF4y2Ba

提示gydF4y2Ba

公式包括一个常数(拦截)默认项。排除一个常数项的模型,包括gydF4y2Ba1gydF4y2Ba的公式。gydF4y2Ba

例子:gydF4y2Ba

“y ~ x1 + x2 + x3”gydF4y2Ba是一个有三线性模型与拦截。gydF4y2Ba
“y ~ x1 + x2 + x3 - 1”gydF4y2Ba是一个有三线性模型没有拦截。gydF4y2Ba
“y ~ x1 + x2 + x3 + x2 ^ 2》gydF4y2Ba是一个有三模型拦截和gydF4y2Bax2 ^ 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,除了三方互动。gydF4y2Ba
“y ~ x1 * (x2 + x3 + x4) 'gydF4y2Ba所有线性项,加的产品下载188bet金宝搏gydF4y2Bax1gydF4y2Ba与每个其他的变量。gydF4y2Ba

合适的模型数据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

拟合模型后,检查结果。gydF4y2Ba

模型显示gydF4y2Ba

一个线性回归模型展示了几个诊断当你进入其名称或输入gydF4y2Badisp (mdl)gydF4y2Ba。这显示了一些基本的信息检查是否充分拟合模型表示数据。gydF4y2Ba

例如,符合泊松模型数据采用二的五因素不会影响响应,和没有截距项:gydF4y2Ba

rng (gydF4y2Ba“默认”gydF4y2Ba)gydF4y2Ba%的再现性gydF4y2BaX = randn (100 5);μ= exp (X (: [1 4 5]) * (。4; 2。3));y = poissrnd(μ);mdl = fitglm (X, y,gydF4y2Ba…gydF4y2Ba“线性”gydF4y2Ba,gydF4y2Ba“分布”gydF4y2Ba,gydF4y2Ba“泊松”gydF4y2Ba)gydF4y2Ba
mdl =广义线性回归模型:日志(y) ~ 1 + x1 + x2 + x3 + x4 + x5 =泊松分布估计系数:估计SE tStat pValue x1(拦截)0.039829 0.10793 0.36901 0.71212 0.38551 0.076116 5.0647 4.0895 e-07 x2 -0.034905 -0.17826 0.093552 -1.9054 0.056722 0.086685 -0.40266 0.6872 x3 x4 100 0.21929 0.28918 0.1094 2.6432 0.0082126 0.09357 2.3436 0.019097 x5的观察,94错误自由度色散:1 x ^ 2-statistic与常数模型:44.9,p = 1.55 e-08gydF4y2Ba

注意: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物流模型gydF4y2Ba为比例数据是有用的。它定义了比例之间的关系gydF4y2BapgydF4y2Ba和重量gydF4y2BawgydF4y2Ba由:gydF4y2Ba

日志(gydF4y2BapgydF4y2Ba/ (1 -gydF4y2BapgydF4y2Ba)=gydF4y2BabgydF4y2Ba1gydF4y2Ba+gydF4y2BabgydF4y2Ba2gydF4y2BawgydF4y2Ba

这个例子符合二项式模型数据。数据来自gydF4y2Bacarbig.matgydF4y2Ba,其中包含测量各种重量的大型车。每一个重量gydF4y2BawgydF4y2Ba有一个相应的汽车数量gydF4y2Ba总gydF4y2Ba和一个相应的poor-mileage汽车的数量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 34 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 =广义线性回归模型:分对数(y) ~ 1 + x1 =二项分布估计系数:估计SE tStat pValue(拦截)e-22 x1 0.0041812 0.00044258 9.4474 8.1019 -13.38 1.394 -9.5986 3.4739 e-21 12观察,10自由度误差分散:1 x ^ 2-statistic与常数模型:242年,假定值= 1.3 e-54gydF4y2Ba

看看这个模型与数据的吻合程度。gydF4y2Ba

plotSlice (mdl)gydF4y2Ba

适合看起来相当不错,范围相当广泛的信心。gydF4y2Ba

检查更多细节,创建一个杠杆阴谋。gydF4y2Ba

plotDiagnostics (mdl)gydF4y2Ba

这是典型的回归点命令的预测变量。每个点适合更高的杠杆点较极端的预测价值(两个方向)和低点平均预测的值。与多个预测和点例子不是下令预测价值,这个情节可以帮助你确定哪些观测高杠杆,因为他们离群值的预测价值。gydF4y2Ba

残差为训练数据-模型质量gydF4y2Ba

有一些残留的情节来帮助你发现错误,或数据异常值,或相关性模型。最简单的残余情节是默认的直方图情节,展示了残差的范围和频率,和概率图,显示了残差的分布比较与匹配正态分布方差。gydF4y2Ba

这个例子显示了安装剩余地块泊松模型。数据建设五个人中有两个预测不会影响响应,并没有截距项:gydF4y2Ba

rng (gydF4y2Ba“默认”gydF4y2Ba)gydF4y2Ba%的再现性gydF4y2BaX = randn (100 5);μ= 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

这个例子展示了如何理解每个指标对回归模型的影响,以及如何修改模型,消除不必要的条款。gydF4y2Ba

  1. 从一些预测人工数据创建一个模型。不使用的数据在第二和第三列gydF4y2BaXgydF4y2Ba。所以你希望不表现出明显的依赖这些预测模型。gydF4y2Ba

    rng (gydF4y2Ba“默认”gydF4y2Ba)gydF4y2Ba%的再现性gydF4y2BaX = randn (100 5);μ= exp (X (: [1 4 5]) * (2; 1; 5));y = poissrnd(μ);mdl = fitglm (X, y,gydF4y2Ba…gydF4y2Ba“线性”gydF4y2Ba,gydF4y2Ba“分布”gydF4y2Ba,gydF4y2Ba“泊松”gydF4y2Ba);gydF4y2Ba
  2. 检查一片的情节反应。这将显示每个单独预测的影响。gydF4y2Ba

    plotSlice (mdl)gydF4y2Ba

    第一次的规模预测是压倒性的情节。禁用它使用gydF4y2Ba预测gydF4y2Ba菜单。gydF4y2Ba

    现在很明显,预测2和3有几乎没有效果。gydF4y2Ba

    你可以拖拽个人预测值,虚线为代表的蓝色竖线。你也可以选择同步和异时置信界限),虚线为代表的红色曲线。拖动预测行证实预测2和3有几乎没有效果。gydF4y2Ba

  3. 删除不必要的预测使用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 x ^ 2-statistic与常数模型:4.97 e + 04,假定值= 0gydF4y2Ba
    mdl1 =步骤(mdl,gydF4y2Ba“NSteps”gydF4y2Ba5,gydF4y2Ba“上”gydF4y2Ba,gydF4y2Ba“线性”gydF4y2Ba)gydF4y2Ba
    1。删除x3,异常= 93.856,Chi2Stat = 0.00075551, PValue = 0.97807 - 2。删除x2,异常= 96.333,Chi2Stat = 2.4769, PValue = 0.11553 mdl1 =广义线性回归模型:日志(y) ~ 1 + x1 + x4 + x5 =泊松分布估计系数:估计SE tStat PValue x1(拦截)0.17604 0.062215 2.8295 0.004662 1.9122 0.024638 77.614 0 x4 0.98521 - 0.026393 37.328 - 5.6696 e - 305 x5 0.61321 0.038435 15.955 2.6473 e-57 100观察,96错误自由度色散:1 x ^ 2-statistic与常数模型:4.97 e + 04,假定值= 0gydF4y2Ba

预测或模拟反应新数据gydF4y2Ba

有三种方法可以用线性模型来预测新数据的响应:gydF4y2Ba

预测gydF4y2Ba

的gydF4y2Ba预测gydF4y2Ba方法给出了一个预测的反应,如果要求,信心。gydF4y2Ba

这个例子展示了如何预测和获得使用置信区间的预测gydF4y2Ba预测gydF4y2Ba方法。gydF4y2Ba

  1. 从一些预测人工数据创建一个模型。不使用的数据在第二和第三列gydF4y2BaXgydF4y2Ba。所以你希望没有表现出明显的依赖这些预测模型。构造模型自动逐步包含相关的预测。gydF4y2Ba

    rng (gydF4y2Ba“默认”gydF4y2Ba)gydF4y2Ba%的再现性gydF4y2BaX = randn (100 5);μ= 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,Chi2Stat = 47242.9622, PValue = 0 2。添加x4,异常= 328.39679,Chi2Stat = 2186.6319, PValue = 0 3。添加x5,异常= 96.3326,e-52 Chi2Stat = 232.0642, PValue = 2.114384gydF4y2Ba
  2. 生成一些新的数据,评估的预测数据。gydF4y2Ba

    Xnew = randn (3、5) + repmat (1 2 3 4 5], [3, 1]);gydF4y2Ba%的新数据gydF4y2Ba[ynew, ynewci] =预测(mdl Xnew)gydF4y2Ba
    ynew = 1.0 e + 04 * 0.1130 1.7375 3.7471 ynewci = 1.0 e + 04 * 0.0821 0.1555 1.2167 - 2.4811 2.8419 - 4.9407gydF4y2Ba

函数宏指令gydF4y2Ba

当你从一个表或数据集构造一个模型数组,gydF4y2Ba函数宏指令gydF4y2Ba更方便预测反应比意味着什么gydF4y2Ba预测gydF4y2Ba。然而,gydF4y2Ba函数宏指令gydF4y2Ba不提供信心。gydF4y2Ba

这个例子展示了如何使用预测意味着响应gydF4y2Ba函数宏指令gydF4y2Ba方法。gydF4y2Ba

  1. 从一些预测人工数据创建一个模型。不使用的数据在第二和第三列gydF4y2BaXgydF4y2Ba。所以你希望没有表现出明显的依赖这些预测模型。构造模型自动逐步包含相关的预测。gydF4y2Ba

    rng (gydF4y2Ba“默认”gydF4y2Ba)gydF4y2Ba%的再现性gydF4y2BaX = randn (100 5);μ= exp (X (: [1 4 5]) * (2; 1; 5));y = poissrnd(μ);X = array2table (X);gydF4y2Ba%创建数据表gydF4y2Bay = array2table (y);台= (X, y);mdl = stepwiseglm(资源描述,gydF4y2Ba…gydF4y2Ba“不变”gydF4y2Ba,gydF4y2Ba“上”gydF4y2Ba,gydF4y2Ba“线性”gydF4y2Ba,gydF4y2Ba“分布”gydF4y2Ba,gydF4y2Ba“泊松”gydF4y2Ba);gydF4y2Ba
    1。添加x1,异常= 2515.02869,Chi2Stat = 47242.9622, PValue = 0 2。添加x4,异常= 328.39679,Chi2Stat = 2186.6319, PValue = 0 3。添加x5,异常= 96.3326,e-52 Chi2Stat = 232.0642, PValue = 2.114384gydF4y2Ba
  2. 生成一些新的数据,评估的预测数据。gydF4y2Ba

    Xnew = randn (3、5) + repmat (1 2 3 4 5], [3, 1]);gydF4y2Ba%的新数据gydF4y2Baynew =函数宏指令(mdl Xnew (: 1), Xnew (:, 4), Xnew (:, 5))gydF4y2Ba%只需要预测1、4、5gydF4y2Ba
    ynew = 1.0 * 0.1130 1.7375 3.7471 e + 04gydF4y2Ba

    同样,gydF4y2Ba

    ynew =函数宏指令(mdl Xnew (:, (1 4 5)))gydF4y2Ba%只需要预测1、4、5gydF4y2Ba
    ynew = 1.0 * 0.1130 1.7375 3.7471 e + 04gydF4y2Ba

随机gydF4y2Ba

的gydF4y2Ba随机gydF4y2Ba指定的方法生成新的随机响应值预测的值。响应值的分布是使用的分布模型。gydF4y2Ba随机gydF4y2Ba计算的均值分布的预测,估计系数,和链接功能。等分布正常,该模型还提供了一个估计的方差响应。二项式和泊松分布的方差响应是由均值;gydF4y2Ba随机gydF4y2Ba不使用一个单独的“分散”的估计。gydF4y2Ba

这个例子展示了如何使用模拟响应gydF4y2Ba随机gydF4y2Ba方法。gydF4y2Ba

  1. 从一些预测人工数据创建一个模型。不使用的数据在第二和第三列gydF4y2BaXgydF4y2Ba。所以你希望没有表现出明显的依赖这些预测模型。构造模型自动逐步包含相关的预测。gydF4y2Ba

    rng (gydF4y2Ba“默认”gydF4y2Ba)gydF4y2Ba%的再现性gydF4y2BaX = randn (100 5);μ= 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,Chi2Stat = 47242.9622, PValue = 0 2。添加x4,异常= 328.39679,Chi2Stat = 2186.6319, PValue = 0 3。添加x5,异常= 96.3326,e-52 Chi2Stat = 232.0642, PValue = 2.114384gydF4y2Ba
  2. 生成一些新的数据,评估的预测数据。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

  3. 评估gydF4y2Ba随机gydF4y2Ba方法,结果变化。gydF4y2Ba

    Xnew ysim =随机(mdl)gydF4y2Ba
    ysim = 1175 17320 37126gydF4y2Ba

共享拟合模型gydF4y2Ba

模型显示包含足够的信息来让别人来重建模型在理论意义上。例如,gydF4y2Ba

rng (gydF4y2Ba“默认”gydF4y2Ba)gydF4y2Ba%的再现性gydF4y2BaX = randn (100 5);μ= 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,Chi2Stat = 47242.9622, PValue = 0 2。添加x4,异常= 328.39679,Chi2Stat = 2186.6319, PValue = 0 3。添加x5,异常= 96.3326,Chi2Stat = 232.0642, PValue = 2.114384 e-52 mdl =广义线性回归模型:日志(y) ~ 1 + x1 + x4 + x5 =泊松分布估计系数:估计SE tStat PValue x1(拦截)0.17604 0.062215 2.8295 0.004662 1.9122 0.024638 77.614 0 x4 0.98521 0.026393 37.328 5.6696 e - 305 x5 0.61321 0.038435 15.955 2.6473 100年e-57观察,96错误自由度色散:1 x ^ 2-statistic与常数模型:4.97 e + 04,假定值= 0gydF4y2Ba

你也可以通过编程方式访问模型描述。例如,gydF4y2Ba

mdl.Coefficients.EstimategydF4y2Ba
ans = 0.1760 1.9122 0.9852 0.6132gydF4y2Ba
mdl.FormulagydF4y2Ba
ans =日志(y) ~ 1 + x1 + x4 + x5gydF4y2Ba

引用gydF4y2Ba

[1]Collett D。gydF4y2Ba二进制数据建模gydF4y2Ba。纽约:查普曼&大厅,2002。gydF4y2Ba

[2]多布森,a·J。gydF4y2Ba介绍了广义线性模型gydF4y2Ba。纽约:查普曼&大厅,1990。gydF4y2Ba

[3]McCullagh, P。,J. A. Nelder.广义线性模型gydF4y2Ba。纽约:查普曼&大厅,1990。gydF4y2Ba

[4]净,J。,M. H. Kutner, C. J. Nachtsheim, and W. Wasserman.应用线性统计模型gydF4y2Ba,第四版。欧文,芝加哥,1996年。gydF4y2Ba