主要内容

glmval

广义线性模型值

语法

yhat = glmval (b, X,链接)
[yhat, dylo dyhi] = glmval (b, X,链接统计数据)
[…]= glmval (…param1,val1,param2,val2,……)

描述

yhat = glmval (b, X,链接)广义线性模型计算预测的值与链接功能链接和预测X。不同的预测变量应该出现在不同的列Xb返回的是一个向量的系数估计glmfit函数。链接可以是任何的特征向量,字符串标量,或自定义链接功能用作值“链接”名称-值对论点的glmfit函数。

请注意

默认情况下,glmval增加了1 s的第一列X在模型中,对应于一个常数项。不输入列1 s直接进入吗X。您可以更改默认的行为glmval使用“不变”参数。

[yhat, dylo dyhi] = glmval (b, X,链接统计数据)还为预测计算95%置信界限值。当统计数据结构的输出glmfit指定函数,dylodyhi也回来了。dylodyhi定义一个较低的信心yhat-dylo和一个上层的信心yhat + dyhi。信心界限异时,适用于拟合曲线,不是一个新的观察。

[…]= glmval (…param1,val1,param2,val2,……)指定可选参数名称/值对控制预测值。可接受的参数表中列出:

参数 价值

“信心”——的信心水平的信心

一个标量在0和1之间

“大小”——二项模型的尺寸参数(N)

一个标量或矢量与X的一个值为每一行

“抵消”——作为一个额外的预测变量,但系数值固定为1.0

一个向量

“不变”
  • “上”——包括一个模型中的常数项。常数项的系数的第一个元素b

  • “关闭”——省略常数项

“同时”同时计算置信区间(真正的),或者计算异时置信区间(默认) 真正的

例子

全部折叠

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

创建一个示例数据集。

x = (2100 2300 2500 2700 2900 31003300 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

适合的概率单位回归模型yx

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

计算估计数量的成功。

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

图观察到成功百分比和估计百分比与成功x值。

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

图包含一个坐标轴对象。坐标轴对象包含2线类型的对象。一个或多个行显示的值只使用标记

输入样本数据。

x = (2100 2300 2500 2700 2900 31003300 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日)';

每一个y值成功的数量相应数量的试验n,x包含预测变量的值。

定义三个函数处理,通过使用创建的@定义链接,链接的导数,probit链接功能,和反向链接。存储单元阵列的处理。

链接= @(μ)norminv(μ);derlink = @(μ)1。/ normpdf (norminv(μ));invlink = @(职责)normcdf(职责);F ={链接、derlink invlink};

广义线性模型yx通过使用函数定义的链接。

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

计算估计数量的成功。情节的观察和估计百分比与成功x值。

yfit = glmval (F b, x,,“大小”n);情节(x, y / n,“o”,x, yfit. / n,“- - -”,“线宽”,2)

图包含一个坐标轴对象。坐标轴对象包含2线类型的对象。一个或多个行显示的值只使用标记

火车一个广义线性模型,然后生成代码从一个函数,将基于模型的新观察。这个例子是基于使用自定义链接功能的例子。

输入样本数据。

x = (2100 2300 2500 2700 2900 31003300 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日)';

假设逆正常pdf是一个适当的链接功能的问题。

定义一个函数的名字myInvNorm.m接受的价值观$ X \β美元并返回相应的值的倒数标准正常运作。

函数= myInvNorm(亩)% # codegen% myInvNorm逆标准正态提供的代码生成% myInvNorm GLM链接函数,它接受一个数字矢量μ,和%的回报,这是一个数值向量的对应值%逆标准的正常运作。%在= norminv(μ);结束

定义另一个函数命名myDInvNorm.m接受的价值观$ X \β美元并返回相应的值的关联函数的导数。

函数喧嚣= myDInvNorm(亩)% # codegen% myDInvNorm导数逆标准正态提供的代码%的一代% myDInvNorm对应的漠视,链接函数的导数% myInvNorm。myDInvNorm接受一个数字矢量亩,并返回喧嚣,%的数值向量对应的逆的衍生品%的标准正常运作。%喧嚣= 1. / normpdf (norminv(μ));结束

定义另一个函数命名myInvInvNorm.m接受的价值观$ X \β美元并返回相应的值的逆函数的链接。

函数含= myInvInvNorm(亩)% # codegen% myInvInvNorm代码生成的标准正常运作% myInvInvNorm myInvNorm是漠视,链接的逆函数。% myInvInvNorm接受一个数字矢量亩,并返回相关,这是一个%的数值向量对应值标准的正常运作。%含= normcdf(μ);结束

创建一个结构数组,指定每个链接的功能。具体来说,结构数组包含字段命名“链接”,“衍生品”,“逆”。相应的值函数的名称。

链接=结构(“链接”,“myInvNorm”,“衍生品”,“myDInvNorm”,“逆”,“myInvInvNorm”)
链接=结构体字段:链接:“myInvNorm”衍生品:“myDInvNorm”逆:“myInvInvNorm”

健康的漠视yx使用链接功能链接。返回的结构数组数据。

[b, ~,统计]= glmfit (x, y [n],“二”,“链接”,链接);

b是一个2×1的回归系数向量。

在你当前的工作目录中,定义一个函数调用classifyGLM.m:

  • 接受与列对应的测量x,回归系数对应的维度b,一个链接功能,全球语言监测机构统计数据的结构,和任何有效glmval名称-值对的观点

  • 预测误差和置信区间利润回报

函数[yhat,嗨]= classifyGLM (b, x,链接,变长度输入宗量)% # codegen% CLASSIFYGLM测量使用GLM模型进行分类% CLASSIFYGLM分类n n×1的观测向量x使用%的漠视,模型回归系数b和链接功能链接,%然后返回n×1的向量yhat的预测值。% CLASSIFYGLM也返回误差预测使用%的额外信息的漠视,统计数据结构。narginchk(3正);如果(isstruct(变长度输入宗量{1}))统计=变长度输入宗量{1};[yhat,嗨]= glmval (b, x,链接,统计,变长度输入宗量{2:结束});其他的yhat = glmval (b, x,链接,变长度输入宗量{:});结束结束

生成一个墨西哥人功能classifyGLM.m。因为C使用静态类型,codegen必须确定所有变量的属性在MATLAB®文件在编译时。确保墨西哥人可以使用相同的输入函数,使用arg游戏参数来指定以下给定的顺序:

  • 回归系数b作为一个编译时常量

  • 样本的观察x

  • 链接作为编译时常量

  • 导致全球语言监测机构的统计数据作为一个编译时常量

  • 的名字“信心”作为一个编译时常量

  • 置信水平0.9

编译时常量指定参数,使用coder.Constant

codegen配置:墨西哥人classifyGLMarg游戏{coder.Constant (b), x, coder.Constant(链接),coder.Constant(统计),coder.Constant(信心),0.9}
代码生成成功。

codegen墨西哥人文件生成classifyGLM_mex.mexw64在当前文件夹。文件扩展名取决于您的系统平台。

比较预测通过使用glmvalclassifyGLM_mex。指定名称-值对参数的顺序arg游戏在调用参数codegen

[yhat1, melo1 mehi1] = glmval (b, x,链接,统计数据,“信心”,0.9);[yhat2, melo2 mehi2] = classifyGLM_mex (b, x,链接,统计数据,“信心”,0.9);comp1文件= (yhat1 - yhat2) * (yhat1 - yhat2);agree1 = comp1文件< eps comp2 = (melo1 - melo2) * (melo1 - melo2);agree2 = comp2 < eps comp3 = (mehi1 - mehi2) * (mehi1 - mehi2);agree3 = comp3 < eps
agree1 =逻辑1 agree2 =逻辑1 agree3 =逻辑1

生成的墨西哥人产生相同的预测函数预测

引用

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

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

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

扩展功能

版本历史

之前介绍过的R2006a