主要内容

glmfit

拟合广义线性回归模型

    描述

    b= glmfit (Xy分配返回一个向量b中响应的广义线性回归模型的系数估计y在预测中X,使用分布分配

    例子

    b= glmfit (Xy分配名称,值使用一个或多个名称-值参数指定其他选项。例如,可以指定“常数”,“关闭”从模型中省略常数项。

    例子

    (bdev) = glmfit (___也返回值dev,异常的健康。

    (bdev统计数据) = glmfit (___还返回模型统计信息统计数据

    例子

    全部折叠

    拟合一个广义线性回归模型,并使用拟合模型计算预测数据的预测值(估值)。

    创建一个示例数据集。

    X = [2100 2300 2500 2700 2900 3100...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

    拟合probit回归模型yx

    B = glmfit(x,[y n]),“二”“链接”“probit”);

    计算估计的成功次数。

    yfit = glmval (b, x,“probit”“大小”n);

    绘制观察到的成功率和估计的成功率对比x值。

    情节(x, y / n,“o”, x, yfit. / n,“- - -”

    图中包含一个轴对象。轴对象包含两个类型为line的对象。

    定义一个自定义链接函数并使用它来拟合一个广义线性回归模型。

    加载示例数据。

    负载fisheriris

    列向量物种包含三种不同种类的鸢尾花:蔷薇花、花斑花和弗吉尼亚花。矩阵包含四种花的尺寸,萼片和花瓣的长度和宽度以厘米为单位。

    定义预测变量和响应变量。

    X =量(51:最终,);y = strcmp (“多色的”、物种(51:结束));

    为logit链接函数定义一个自定义链接函数。创建三个函数句柄,分别定义链接函数、链接函数的导数和反向链接函数。将它们存储在单元格数组中。

    Link = @(mu) log(mu./(1-mu));Derlink = @(mu) 1./(mu.*(1-mu));inlink = @(respp) 1./(1+exp(- respp));F ={链接、derlink invlink};

    拟合逻辑回归模型使用glmfit使用自定义链接函数。

    b = glmfit (X, y,“二”“链接”F)
    b =5×142.6378 2.4652 6.6809 -9.4294 -18.2861

    利用内建函数拟合广义线性模型分对数链接函数,并比较结果。

    b = glmfit (X, y,“二”“链接”分对数的
    b =5×142.6378 2.4652 6.6809 -9.4294 -18.2861

    拟合一个广义线性回归模型,该模型包含每个预测器的截距和线性项。执行偏差测试,以确定模型是否比常数模型更适合。

    使用具有两个潜在预测因子的泊松随机数生成样本数据X (: 1)X (:, 2)

    rng (“默认”%的再现性rndvars = randn (100 2);X = [2 + rndvars(:,1),rndvars(:,2)];mu = exp(1 + X*[1;2]);y = poissrnd(μ);

    拟合一个广义线性回归模型,该模型包含每个预测器的截距和线性项。

    [b, dev] = glmfit (X, y,“泊松”);

    第二个输出参数dev是一个异常的健康。

    拟合一个只包含截距的广义线性回归模型。将预测变量指定为1的列,并指定“不变”作为“关闭”glmfit模型中不包含常数项。

    [~, dev_noconstant] = glmfit ((100 1), y,“泊松”“不变”“关闭”);

    计算dev_constantdev

    D = dev_noconstant - dev_noconstant
    D = 2.9533 e + 05

    D有2个自由度的卡方分布。自由度等于对应模型中估计参数个数的差值dev以及常数模型中估计参数的个数。找到p-异常测试的值。

    p = 1 - chi2cdf(D,2)
    p = 0

    p-value表示模型与常量有显著差异。

    或者,您可以通过使用fitglm函数。模型显示包括统计量(Chi^2-统计量与常数模型),p价值。

    mdl = fitglm (X, y,'y ~ x1 + x2'“分布”“泊松”
    mdl =广义线性回归模型:log(y) ~ 1 + x1 + x2分布=泊松估计系数:估值SE tStat pValue ________ _________ ______ ______ (Intercept) 1.0405 0.022122 47.034 0 x1 0.9968 0.003362 296.49 0 x2 1.987 0.0063433 313.24 0 100个观测值,97个误差自由度1 Chi^2-statistic vs. constant model: 2.95e+05, p-value = 0

    你也可以用thedevianceTest函数与拟合的模型对象。

    devianceTest (mdl)
    ans =2×4表异常DFE chi2Stat pValue  __________ ___ __________ ______ 日志(y) ~ 1 2.9544 e + 05 99日志(y) ~ 1 x1 + x2 + 107.4 97 2.9533 e + 05年0

    输入参数

    全部折叠

    预测变量,指定为n——- - - - - -p数字矩阵,n观察的次数是多少p为预测变量的数量。每一列的X表示一个变量,每一行表示一个观察。

    默认情况下,glmfit在模型中包含一个常数项。不直接加上一列1sX。可以修改的默认行为glmfit通过指定“不变”名称-值参数。

    数据类型:|

    响应变量,指定为向量或矩阵。

    • 如果分配不是“二”,然后y必须是一个n1的向量,n为观察次数。中的每个条目y对应一行的响应是X。数据类型必须为单或双。

    • 如果分配“二”,然后y是一个n-by-1向量表示每次观察的成功或失败,或n-by-2矩阵,第一列表示每次观察的成功次数,第二列表示每次观察的试验次数。

    数据类型:||逻辑|分类

    响应变量的分布,指定为该表中的一个值。

    价值 描述
    “正常” 正态分布(默认)
    “二” 二项分布
    “泊松” 泊松分布
    “伽马” 伽马分布
    逆高斯分布的 逆高斯分布

    名称-值参数

    指定可选的逗号分隔的对名称,值参数。的名字参数名和价值为对应值。的名字必须出现在引号内。可以以任意顺序指定多个名称和值对参数Name1, Value1,…,的家

    例子:b = glmfit (X, y,“正常”,“链接”,probit)指定响应的分布是正常的并指示glmfit使用probit链接函数。

    系数估计的初始值,指定为数字向量。默认值是源自输入数据的初始拟合值。

    数据类型:|

    适应度中常数项(截距)的指示符,指定为“上”包含常数项或“关闭”将其从模型中移除。

    • “上”(默认)glmfit在模型中包含一个常数项,并返回p+ 1)系数估计的-by-1向量b,在那里p预测器的数量在吗X。常数项的系数是第一个元素b

    • “关闭”- - - - - -glmfit省略常数项,返回ap系数估计的-乘1向量b

    例子:“常数”,“关闭”

    用于计算色散参数的指示器“二”“泊松”分布,指定为“上”“关闭”

    价值 描述
    “上” 在计算标准误差时估计一个离散参数。估计的色散参数值是皮尔逊残差的平方和除以误差自由度(DFE)。
    “关闭” 计算标准误差时,使用理论值1(默认)。

    拟合函数总是估计其他分布的色散。

    例子:“EstDisp”,“上”

    用于代替规范链接函数的链接函数,指定为下表中的内置链接函数之一或自定义链接函数。

    链接函数名 链接功能 意味着(逆)函数
    “身份”(默认为“正常”分布) fμ) =μ μXb
    “日志”(默认为“泊松”分布) fμ) =日志(μ μ= exp (Xb
    分对数的(默认为“二”分布) fμ) =日志(μ/ (1 -μ)) μ= exp (Xb) / (1 + exp(Xb))
    “probit” fμ) =Φ1μ),其中Φ为标准正态分布的累积分布函数 μ=Φ(Xb

    “重对数”

    fμ日志(日志)= (μ)) μ= exp (exp (Xb))
    “comploglog” fμ) = log(- log(1 -μ)) μ= 1 - exp(- exp()Xb))
    “互惠”(默认为“伽马”分布) fμ) = 1 /μ μ= 1 / (Xb
    p(一个数字,默认为逆高斯分布的分布与p= 2) fμ) =μp μXb1/p

    默认的“链接”值是规范的链接函数,它依赖于由分配论点。

    可以使用结构或单元格数组指定自定义链接函数。

    • 结构有三个字段。结构的每个字段(例如,年代)持有一个函数句柄,该句柄接受输入向量并返回相同大小的向量:

      • S.Link——链接功能,fμ) =S.Linkμ

      • S.Derivative-连杆函数的导数

      • S.Inverse-反向链接函数,μS.InverseXb

    • 窗体的单元格数组{FL FD FI}定义了链接函数(FL(亩)),连杆函数的导数(FD =(μ)/ dmu阐述),以及反向链接函数(FI = FL ^ (1)).每个条目都包含一个函数句柄,该句柄接受输入向量并返回相同大小的向量。

    link函数定义了这种关系fμ) =Xb在平均响应之间μ以及预测因子的线性组合Xb

    例子:“链接”、“概率单位”

    数据类型:||字符|字符串|结构体|细胞

    匹配中的偏移量变量,指定为与响应长度相同的数字向量y

    glmfit使用抵消作为一个系数值固定为1的附加预测器。换句话说,拟合公式为

    fμ=抵消+Xb

    在哪里f为链接函数,μ平均值是多少Xb是预测因子的线性组合吗X。的抵消预测了系数1

    例如,考虑一个泊松回归模型。假设,出于理论上的原因,计数的数量与预测器成正比一个。通过使用日志链接函数并指定日志(一)作为补偿,您可以强制模型满足这个理论约束。

    数据类型:|

    优化选项,指定为结构。该参数确定迭代算法的控制参数glmfit用途。

    创建“选项”通过使用函数值statset或者创建一个结构数组,该数组包含该表中描述的字段和值。

    字段名 价值 默认值
    显示

    算法显示的信息量

    • “关闭”—不显示任何信息

    • “最后一次”—显示最终输出

    “关闭”
    麦克斯特

    允许的最大迭代次数,指定为正整数

    One hundred.
    TolX

    参数的终止容限,指定为正标量

    1 e-6

    你也可以输入statset ('glmfit”)在命令窗口中查看字段的名称和默认值glmfit接受的“选项”名称-值参数。

    例子:“选项”,statset(“显示”、“最后”,麦克斯特,1000)指定显示迭代算法结果的最终信息,并将允许的最大迭代次数更改为1000。

    数据类型:结构体

    观测权值,指定为n非负标量值的-by-1向量,其中n为观察次数。

    数据类型:|

    输出参数

    全部折叠

    系数估计,返回为数字向量。

    • 如果“不变”“上”(默认)glmfit在模型中包含一个常数项,并返回p+ 1)系数估计的-by-1向量b,在那里p预测器的数量在吗X。常数项的系数是第一个元素b

    • 如果“不变”“关闭”,然后glmfit省略常数项,返回ap系数估计的-乘1向量b

    匹配的偏差,返回为数值。当一个模型是另一个模型的特例时,偏差对于比较两个模型是有用的。两模型偏差的差值具有卡方分布,其自由度等于两模型间估计参数数的差值。

    有关更多信息,请参见异常

    模型统计信息,作为具有以下字段的结构返回:

    • β——系数估计b

    • 教育部-误差自由度

    • sfit-估计色散参数

    • 年代-理论或估计的色散参数

    • estdisp- 0时“EstDisp”“关闭”和1的时候“EstDisp”“上”

    • covb的估计协方差矩阵b

    • se-系数估计的标准误差向量b

    • coeffcorr-相关矩阵b

    • t- - - - - -t统计数据b

    • p- - - - - -p值为b

    • 渣油-残差向量

    • residp-皮尔森残差向量

    • residd-偏差残差向量

    • resida- Anscombe残差向量

    如果你估计一个二项分布或泊松分布的离散参数,那么stats.s等于stats.sfit。此外,元素stats.se因因素而异stats.s从他们的理论价值。

    更多关于

    全部折叠

    异常

    偏差是残差平方和的推广。它衡量的是与饱和模型相比的拟合优度。

    模型的偏差1是模型对数似然差的两倍吗1饱和模型年代。饱和模型是指具有最大数量的参数的模型。

    例如,如果你有n观察(y= 1, 2,…n),其值可能不同XTβ,则可以定义一个饱和模型n参数。让lby)表示带有参数的模型的似然函数的最大值b。然后是模型的偏差1

    2 日志 l b 1 y 日志 l b 年代 y

    在哪里b1b年代包含模型的估计参数1和饱和模型。偏差有卡方分布n- - - - - -p自由度,其中n饱和模型中的参数数和p模型中的参数个数是多少1

    假设你有两个不同的广义线性回归模型12,1有这些项的子集吗2。你可以通过比较偏差来评估模型的适合度D1D2这两种型号的。偏差的区别是

    D D 2 D 1 2 日志 l b 2 y 日志 l b 年代 y + 2 日志 l b 1 y 日志 l b 年代 y 2 日志 l b 2 y 日志 l b 1 y

    渐近,D有自由度的卡方分布吗v等于中估计的参数数之差12。你可以获得p为这个测试使用1 - chi2cdf (D, v)

    通常,您检查D使用一个模型2一个常数项,没有预测因子。因此,D有卡方分布吗p- 1的自由度。如果估计了色散,那么差除以估计色散有F分布与p- 1分子的自由度n- - - - - -p分母自由度。

    提示

    • glmfit对待年代Xy忽略丢失的值。

    选择功能

    glmfit当您仅仅需要函数的输出参数时,或者当您想在循环中多次拟合模型时,是有用的。如果您需要进一步研究一个拟合模型,请创建一个广义线性回归模型对象GeneralizedLinearModel通过使用fitglmstepwiseglm。一个GeneralizedLinearModel对象提供比glmfit

    • 利用GeneralizedLinearModel研究一个拟合模型。对象属性包括关于系数估计、汇总统计、拟合方法和输入数据的信息。

    • 使用的对象函数GeneralizedLinearModel预测反应,修正、评估和可视化广义线性回归模型。

    • 您可以在的输出中找到信息glmfit的属性和对象函数GeneralizedLinearModel

      的输出glmfit 等效值GeneralizedLinearModel
      b 看到估计列的系数财产。
      dev 看到异常财产。
      统计数据

      在命令窗口中查看模型显示。你可以在模型属性(CoefficientCovariance系数分散DispersionEstimated,残差).

      中的色散参数统计数据。年代glmfit是系数的标准误差的比例因子,而色散参数在分散广义线性模型的性质是响应方差的比例因子。因此,stats.s的平方根是分散价值。

    参考文献

    多布森广义线性模型导论。纽约:查普曼与霍尔出版社,1990。

    P. McCullagh和J. A. Nelder。广义线性模型。纽约:查普曼与霍尔出版社,1990。

    [3] Collett D。二进制数据建模。纽约:查普曼与霍尔出版社,2002年出版。

    扩展功能

    之前介绍过的R2006a