文档

随机

班级:Compact一项式LinearModel.

模拟广义线性回归模型的响应

语法

ysim =随机(mdl,xnew)
ysim =随机(mdl Xnew、名称、值)

描述

ysim=随机(MDL.Xnew)模拟来自MDL.广义线性模型的数据Xnew

ysim=随机(MDL.Xnew名称,值)使用一个或多个指定的附加选项模拟响应名称,值对论点。

输入参数

MDL.

广义线性模型,指定为完整GeneralizedLinearModel使用的对象fitglm或者stepwiseglm,或压实Compact一项式LinearModel.使用的对象袖珍的

Xnew

点的MDL.预测的反应。

  • 如果Xnew是一个表或数据集数组,它必须包含预测器名称在MDL.

  • 如果Xnew是一个数字矩阵,它必须具有相同数量的变量(列),它用于创建MDL..此外,在创建中使用的所有变量MDL.必须是数值。

名称值对参数

指定可选的逗号分隔的对名称,值论点。的名字参数名和价值是相应的价值。的名字必须出现在单引号内(' ').可以以任意顺序指定多个名称和值对参数name1,value1,...,namen,valuen

“BinomialSize”

二项式的价值n参数用于训练数据中每一行。BinomialSize可以是载体长度相同的矢量Xnew,或应用于每一行的标量。默认值1生产ysim预测的比例值。使用BinomialSize除非MDL.符合二项分布。

默认值:1

'抵消'

每行偏移量的值Xnew抵消可以是载体长度相同的矢量Xnew,或应用于每一行的标量。偏移被用作附加预测器,其固定系数值1.换句话说,如果b拟合系数向量,和关联为链接函数,

链接(ysim)= offset + xnew * b

默认值:0(大小(Xnew,1))

输出参数

ysim

模拟价值矢量Xnew

随机生成ysim使用随机值与平均值由拟合模型,并与分布使用MDL..价值ysim是独立的,取决于预测因子。对于二项式和泊松拟合,随机生成ysim具有指定的分布,无需调整任何估计的分散。

例子

全部展开

创建广义线性模型,并模拟其对新数据的响应。

生成模型的人工数据,泊松随机数与一个底层预测器X

RNG('默认')%可重复x =兰特(20,1);mu = exp(1 + 2 * x);y = poissrnd(mu);

建立Poisson数据的广义线性回归模型。

mdl = fitglm (X, y,“y ~ x1”“分配”“泊松”);

创建预测点。

Xnew = (0: .05:1) ';

模拟新点的响应。

Xnew ysim =随机(mdl);

将模拟值与原始值绘制在一起。

绘图(x,y,“处方”Xnew ysim,'博'Xnew,Feval(MDL,Xnew),“g -”)传说('数据'“模拟”“安装的意思”'地点'“最佳”)

生成人工数据。具体地说,

  • $ x \ sim n(1,0.5 ^ 2)$

  • $ \ beta_0 = 1 $\β= 2美元

  • $ y \ sim二项式\离开(10 \压裂{exp (1 + x \β)}{1 + exp (1 + x \β)}\右)美元

RNG('默认')再现性的百分比X = 1 + randn(100,1)*0.5;β= 2;P = exp(1 + x*beta)/(1 + exp(1 + x*beta));%逆分对数n = 10;y = binornd (n, p, 100, (1);

创建二项式数据的广义线性回归模型。指定二项样本大小为10。

mdl = fitglm (x, y,“y ~ x1”“分布”“二”“BinomialSize”n);

将拟合的广义线性模型保存到文件中GLMMdl.mat

saveCompactModel (mdl“GLMMdl”);

在当前工作文件夹中声明一个函数myrandomGLM.m那:

  • 接受衡量致力于的X可能还有有效的名称-值对参数

  • 加载拟合的广义线性模型GLMMdl.mat

  • 模拟加载的GLM模型的响应

功能y = myrandomglm(x,varargin)% # codegen使用GLM模型模拟响应%myrandomglm模拟n-by-1中的n观察结果的响应%矢量x使用使用存储在MAT文件GLMMDL.MAT中的GLM模型,%,然后返回n × 1向量y中的模拟结果。CompactMdl = loadCompactModel (“GLMMdl”);Narginchk(1,INF);Y =随机(CompactMDL,X,Varargin {:});结束

生成一个MEX函数myrandomGLM.m.指定样本内预测器数据X10对于二项式参数n.因为C使用静态类型,codegen必须在编译时确定Matlab®文件中所有变量的属性。将参数指定为编译时常量,使用编码器.Constant.

codegen配置:墨西哥人myrandomGLMarg游戏{x, coder.Constant(“BinomialSize”),coder.Constant (n)}

mex文件myrandomglm_mex.mexw64.生成您当前的工作目录。文件扩展名取决于您的平台。

使用MEX文件模拟响应。

ysim = myrandomglm_mex(x,“BinomialSize”n);

将模拟值与数据绘制在同一张图中。

数字;绘图(x,y,'博', x, ysim'r *');传奇(观察到的反应的'模拟响应');包含(“x”);ylabel ('是');

观察和模拟的响应似乎类似地分布。

选择

对于没有随机噪声的预测,使用预测或者Feval.

扩展功能

在R2012A介绍

这个主题有用吗?