主要内容

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,“- - -”

    图中包含一个轴。坐标轴包含2个line类型的对象。

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

    加载样例数据。

    负载fisheriris

    列向量物种含有三种不同种类的鸢尾花:鸢尾花、鸢尾花和维珍花。矩阵包含四种类型的测量花,萼片和花瓣的长度和宽度厘米。

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

    X = meas(51:end,:);Y = strcmp(“多色的”、物种(51:结束));

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

    Link = @(mu) log(mu./(1-mu));Derlink = @(mu) 1./(mu.*(1-mu));inlink = @(resp) 1./(1+exp(-resp));F = {link,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)];= exp(1 + X*[1;2]);Y = poissrnd(mu);

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

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

    第二个输出参数dev是一个异常合身的。

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

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

    计算两者的差值dev_constant而且dev

    D = dev_noconstant - dev
    D = 2.9533e+05

    D有2个自由度的卡方分布。自由度等于所对应的模型中估计参数数目的差值dev和常数模型中估计参数的数量。找到p-value表示偏差测试。

    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 ________ _________ ______ ______(截距)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统计量vs常数模型:2.95e+05, p值= 0

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

    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在模型中包含一个常数项。不直接加一列1X.的默认行为glmfit通过指定“不变”名称-值参数。

    数据类型:|

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

    • 如果分配不是“二”,然后y一定是n-by-1向量,其中n是观测的数量。每一项y对应的行是否为响应X.数据类型必须为single或double。

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

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

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

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

    名称-值对参数

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

    例子:b = glmfit(X,y,'normal','link','probit')指定响应的分布为正态分布并指示glmfit使用probit链接函数。

    系数估计值的初始值,指定为数值向量。默认值是从输入数据中得到的初始拟合值。

    数据类型:|

    适合的常数项(截距)的指示器,指定为任意一种“上”包括常数项或“关闭”将其从模型中移除。

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

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

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

    要计算其色散参数的指示器“二”而且“泊松”分布,指定为“上”“关闭”

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

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

    例子:“EstDisp”,“上”

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

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

    “重对数”

    fμ) = log(-log (μ)) μ= 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 = dFL(mu)/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)系数估计的-乘1向量b,在那里p预测因子的数量在吗X.常数项的系数是的第一个元素b

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

    拟合的偏差,作为数值返回。当一个模型是另一个模型的特殊情况时,偏差对于比较两个模型是有用的。两种模型的偏差值之差呈卡方分布,其自由度等于两种模型估计参数数量之差。

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

    模型统计信息,以结构形式返回,包含以下字段:

    • β-系数估计b

    • 教育部-误差的自由度

    • sfit-估计色散参数

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

    • estdisp- 0时“EstDisp”“关闭”1当“EstDisp”“上”

    • covb-估计协方差矩阵b

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

    • coeffcorr-相关矩阵b

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

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

    • 渣油-残差向量

    • residp- Pearson残差向量

    • 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

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

    假设你有两个不同的广义线性回归模型1而且2,1有一个子集的术语2.您可以通过比较偏差来评估模型的拟合性D1而且D2在这两个模型中。偏差的差值是

    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等于中估计的参数数目之差1而且2.您可以获取p-value通过使用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是根号吗分散价值。

    参考文献

    [1]多布森a.j.广义线性模型导论.纽约:查普曼和霍尔,1990年。

    [2]麦cullagh P.和J. A. Nelder。广义线性模型.纽约:查普曼和霍尔,1990年。

    [3]科莱特D。二进制数据建模.纽约:查普曼和霍尔,2002年。

    扩展功能

    R2006a之前介绍