随机
模拟反应广义线性回归模型的随机噪声
描述
例子
模拟与随机噪声响应数据
创建一个广义线性回归模型,并模拟其响应新数据的随机噪声。
使用泊松随机生成样本数据与一个潜在的预测数字X
。
rng (“默认”)%的再现性1 X =兰特(20日);μ= exp (1 + 2 * X);y = poissrnd(μ);
创建一个广义泊松数据的线性回归模型。
mdl = fitglm (X, y,“y ~ x1”,“分布”,“泊松”);
创建数据点的预测。
Xnew = (0: .05:1) ';
模拟反应与随机噪声数据点。
Xnew ysim =随机(mdl);
模拟值和原始值的阴谋。
情节(X, y,“处方”Xnew ysim,“波”Xnew、Xnew函数宏指令(mdl),“g -”)传说(“数据”,“模拟响应与噪音”,“预测响应”,…“位置”,“最佳”)
生成C / c++代码,模拟响应
适合一个广义线性回归模型,然后保存模型通过使用saveLearnerForCoder
。定义一个入口点函数,通过使用加载模型loadLearnerForCoder
并调用预测
拟合的函数模型。然后使用codegen
(MATLAB编码器)来生成C / c++代码。注意,生成C / c++代码需要MATLAB®编码器™。
这个例子简要解释了代码生成工作流的线性回归预测模型在命令行。更多细节,请参阅机器学习模型的代码生成预测在命令行。你还可以生成代码使用MATLAB编码器的应用。代码生成的预测使用MATLAB编码器应用机器学习模型。
火车模型
生成样本数据的预测x
和响应y
用下面的分布:
。
和 。
。
rng (“默认”)%的再现性x = 1 + randn (100 1) * 0.5;β= 2;p = exp (1 + x *β)。/ (1 + exp (1 + x *β));%逆分对数n = 10;y = binornd (n, p, 100, (1);
创建一个广义线性回归模型的二项数据。指定一个二项样本大小为10。
mdl = fitglm (x, y,“y ~ x1”,“分布”,“二”,“BinomialSize”n);
保存模型
将拟合广义线性回归模型保存到该文件GLMMdl.mat
通过使用saveLearnerForCoder
。
saveLearnerForCoder (mdl“GLMMdl”);
定义入口点函数
在当前文件夹中,定义一个入口点函数命名myrandomGLM.m
做以下几点:
接受新输入和有效的名称-值对预测参数。
加载拟合广义线性回归模型
GLMMdl.mat
通过使用loadLearnerForCoder
。模拟反应从漠视加载模型。
函数y = myrandomGLM (x,变长度输入宗量)% # codegen% MYRANDOMGLM模拟反应使用全球语言监测模型% MYRANDOMGLM模拟n n×1的观察反应%向量x使用的漠视,模型存储在MAT-file GLMMdl。垫,%然后返回n×1的模拟矢量y。CompactMdl = loadLearnerForCoder (“GLMMdl”);narginchk(正);y =随机(CompactMdl x,变长度输入宗量{:});结束
添加% # codegen
编译器指令(或编译指示)的入口点函数函数签名后,表明您打算为MATLAB算法生成代码。添加这个指令指示MATLAB代码分析器来帮助您诊断和解决违规,将导致错误在代码生成。
生成代码
生成代码的入口点函数使用codegen
(MATLAB编码器)。因为C和c++静态类型语言中,您必须确定所有变量的属性在编译时的入口点函数。指定数据类型和准确的输入数组的大小,通过MATLAB®表达式表示的值和特定的数据类型和数组的大小。使用coder.Constant
(MATLAB编码器)名称-值对参数的名称。
指定的预测数据x
和二项参数n
。
codegen配置:墨西哥人myrandomGLMarg游戏{x, coder.Constant (“BinomialSize”), coder.Constant (n)}
代码生成成功。
codegen
生成墨西哥人的功能myrandomGLM_mex
与平台相关的扩展。
如果观测的数量在编译时是未知的,您还可以指定输入所适应的使用coder.typeof
(MATLAB编码器)。有关详细信息,请参见为代码生成指定适应可变参数和指定入口点函数输入的属性(MATLAB编码器)。
验证生成的代码
模拟反应使用墨西哥人功能。指定的预测数据x
和二项参数n
。
ysim = myrandomGLM_mex (x,“BinomialSize”n);
画出模拟值和数据在同一个图。
图绘制(x, y,“波”,x, ysim的r *)传说(观察到的反应的,“模拟反应”)包含(“x”)ylabel (“y”)
观察和模拟的反应似乎同样分布。
输入参数
mdl
- - - - - -广义线性回归模型
GeneralizedLinearModel
对象|CompactGeneralizedLinearModel
对象
广义线性回归模型,指定为一个GeneralizedLinearModel
对象创建使用fitglm
或stepwiseglm
,或者一个CompactGeneralizedLinearModel
对象创建使用紧凑的
。
Xnew
- - - - - -新的预测输入值
表|数据集的数组|矩阵
新的预测输入值,指定为一个表,数据数组或矩阵。每一行的Xnew
对应于一个观察,每一列对应一个变量。
如果
Xnew
是一个数据集表或数组,它必须包含相同的预测,预测名字的PredictorNames
的属性mdl
。如果
Xnew
是一个矩阵,它必须有相同数量的变量(列)在同一顺序的预测输入用于创建mdl
。请注意,Xnew
还必须包含任何不作为预测变量预测的拟合模型。此外,所有变量用于创建mdl
必须是数值。治疗数值预测分类,识别预测使用“CategoricalVars”
当您创建名称-值对的论点mdl
。
数据类型:单
|双
|表
名称-值参数
指定可选的双参数作为Name1 = Value1,…,以=家
,在那里的名字
参数名称和吗价值
相应的价值。名称-值参数必须出现在其他参数,但对的顺序无关紧要。
R2021a之前,用逗号来分隔每一个名称和值,并附上的名字
在报价。
例子:ysim =随机(Mdl、Xnew BinomialSize, 50)
返回成功的数字,摄动随机噪声,使用指定的数量的试验“BinomialSize”
。
BinomialSize
- - - - - -试验二项分布
1(默认)|标量|向量
二项分布的试验数量,指定为逗号分隔组成的“BinomialSize”
和一个标量或矢量长度相同的反应。随机
扩展了标量输入常数相同大小的数组作为回应。标量输入意味着所有具有相同数量的观测试验。
输出值的意义ysim
取决于的价值“BinomialSize”
。
如果
“BinomialSize”
是1(默认),然后输出中的每个值ysim
是成功的概率。如果
“BinomialSize”
不是1,那么每个值在输出ysim
成功的预测数量的试验。
数据类型:单
|双
抵消
- - - - - -偏移值
0(大小(Xnew,1))
(默认)|标量|向量
抵消价值为每一行Xnew
,指定为逗号分隔两人组成的“抵消”
和一个标量或矢量长度相同的反应。随机
扩展了标量输入常数相同大小的数组作为回应。
注意,这个参数的默认值是0,即使你指定的向量“抵消”
名称-值对参数拟合模型。如果您指定“抵消”
拟合软件将抵消额外的预测系数值固定在1。换句话说,拟合的公式
f(μ)=抵消+X*b
,
在哪里f是连接函数,μ是平均响应,X*b的线性组合预测吗X。的抵消
预测了系数1
。
数据类型:单
|双
输出参数
选择功能
预测
接受一个输入参数包含所有预测变量,并给出置信区间预测。函数宏指令
接受多个输入参数为每个预测变量与一个输入,这是简单的使用一个模型从一个表或数据集创建数组。的函数宏指令
不支持名称-值对参数的函数金宝app“抵消”
和“BinomialSize”
。函数使用0作为偏移量的值和输出值预测概率。
扩展功能
C / c++代码生成
生成C和c++代码使用MATLAB®编码器™。
使用笔记和限制:
使用
saveLearnerForCoder
,loadLearnerForCoder
,codegen
(MATLAB编码器)生成的代码随机
函数。通过使用保存训练模型saveLearnerForCoder
。定义一个入口点函数,通过使用加载保存模型loadLearnerForCoder
并调用随机
函数。然后使用codegen
入口点函数来生成代码。随机
可以返回一个不同的序列比MATLAB数字吗®如果以下是正确的:输出是nonscalar。
分布的输入参数是无效的。
此表包含的参数
随机
。参数不包括在这个表是完全支持。金宝app论点 笔记和局限性 mdl
使用笔记和限制的模型对象,明白了代码生成的
CompactGeneralizedLinearModel
对象。Xnew
Xnew
必须包含数字单精度和双精度矩阵或表变量,分类变量,或两者兼而有之。的行数,或观察
Xnew
可以一个变量的大小,但列的数量Xnew
必须是固定的。如果你想指定
Xnew
作为一个表,那么您的模型必须被训练使用一个表,你必须确保你的入口点函数预测:接受数据数组
创建一个表的数据输入参数并指定表中的变量名
通过表
预测
这个表的一个示例工作流,请参阅生成代码对数据表进行分类。在代码生成中使用表格的更多信息,见代码生成表(MATLAB编码器)和表限制代码生成(MATLAB编码器)。
名称-值对的观点 名字必须编译时常量名称参数。例如,使用
“BinomialSize”
名称-值对的论点在生成的代码,包括{coder.Constant (“BinomialSize”), 0}
在arg游戏
的价值codegen
(MATLAB编码器)。
有关更多信息,请参见介绍代码生成。
GPU数组
加速代码运行在一个图形处理单元(GPU)使用并行计算工具箱™。
这个函数完全支持GPU数组。金宝app有关更多信息,请参见运行在GPU MATLAB函数(并行计算工具箱)。
版本历史
介绍了R2012a
Apri esempio
如果dispone di una versione modificata di questo esempio。Desideri aprire questo esempio con le modifiche星期二吗?
第一MATLAB
海脂肪clic苏联合国collegamento切corrisponde questo第一MATLAB:
Esegui il第一inserendolo所以nella隙缝di第一MATLAB。我浏览器web非supportano金宝app comandi MATLAB。
你也可以从下面的列表中选择一个网站:
表现最好的网站怎么走吗
选择中国网站(中文或英文)最佳站点的性能。其他MathWorks国家网站不优化的访问你的位置。