Main Content

RegressionLinear Predict

使用线性回归模型预测响应

自 R2023a 起

  • RegressionLinear Predict Block Icon

库:
Statistics and Machine Learning Toolbox / Regression

描述

RegressionLinear Predict 模块使用线性回归对象 (RegressionLinear) 预测响应。

通过指定包含经过训练的回归对象的工作区变量的名称,将该对象导入模块中。输入端口 x 接收一个观测值(预测变量数据),输出端口 yfit 返回该观测值的预测响应。

端口

输入

全部展开

预测变量数据,指定为一个观测值的行向量或列向量。

x 中的变量必须与用来训练 所指定的模型的预测变量具有相同的顺序。

数据类型: single | double | half | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | fixed point

输出

全部展开

预测响应,以标量形式返回。有关更多详细信息,请参阅 predict 对象函数的 YHat 参量。

数据类型: single | double | half | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | fixed point

参数

全部展开

主要

指定包含 RegressionLinear 对象的工作区变量的名称。

使用 fitrlinear 训练模型时,适用以下限制:

  • 预测变量数据不能包含分类预测变量(logicalcategoricalcharstringcell)。如果在表中提供训练数据,预测变量必须为数值(doublesingle)。此外,不能使用 CategoricalPredictors 名称-值参量。要在模型中包含分类预测变量,请在拟合模型之前使用 dummyvar 对其进行预处理。

  • 已训练模型的 Lambda 属性(正则化项强度)必须为数值标量。如果 Lambda 是数值向量,您必须使用 selectModels 选择对应于一个正则化强度的模型。

编程用法

模块参数:TrainedLearner
类型:工作区变量
值:RegressionLinear 对象
默认值'linearMdl'

数据类型

定点运算参数

指定定点运算的舍入模式。有关详细信息,请参阅舍入 (Fixed-Point Designer)

模块参数始终舍入到最邻近的可表示值。要控制模块参数的舍入方法,请使用 MATLAB® 舍入函数在封装字段中输入表达式。

编程用法

模块参数:RndMeth
类型:字符向量
值:"Ceiling" | "Convergent" | "Floor" | "Nearest" | "Round" | "Simplest" | "Zero"
默认值"Floor"

指定对溢出是进行饱和处理还是绕回处理。

操作基本原理对溢出的影响示例

选中此复选框 (on)。

您的模型可能有溢出,并且您希望在生成的代码中具有显式饱和保护。

将溢出饱和处理为数据类型能够表示的最小值或最大值。

int8(有符号 8 位整数)数据类型可以表示的最大值为 127。任何大于此最大值的模块运算结果都会导致 8 位整数溢出。如果选中此复选框,模块输出将在达到 127 时饱和。类似地,模块输出将在达到最小输出值 -128 时饱和。

清除此复选框 (off)。

您想优化所生成代码的效率。

您希望避免过度地指定信号超出范围时模块的处理方式。有关详细信息,请参阅信号范围错误故障排除 (Simulink)

溢出将绕回到数据类型可以表示的合适值。

int8(有符号 8 位整数)数据类型可以表示的最大值为 127。任何大于此最大值的模块运算结果都会导致 8 位整数溢出。在该复选框处于清除状态时,软件会将导致溢出的值解释为 int8,这可能产生意外结果。例如,以 int8 表示的模块结果 130(二进制 1000 0010)为 -126。

编程用法

模块参数:SaturateOnIntegerOverflow
类型:字符向量
值:"off" | "on"
默认值"off"

选择此参数可防止定点工具覆盖您对模块指定的数据类型。有关详细信息,请参阅Use Lock Output Data Type Setting (Fixed-Point Designer)

编程用法

模块参数:LockScale
类型:字符向量
值:"off" | "on"
默认值"off"
数据类型

yfit 输出指定数据类型。该类型可以继承、直接指定或表示为数据类型对象,如 Simulink.NumericType

当您选择 Inherit: auto 时,模块使用继承数据类型的规则。

有关数据类型的详细信息,请参阅控制信号的数据类型 (Simulink)

点击显示数据类型助手按钮 以显示数据类型助手,这有助于您设置数据类型属性。有关详细信息,请参阅使用数据类型助手指定数据类型 (Simulink)

编程用法

模块参数OutDataTypeStr
类型:字符向量
"Inherit: auto" | "double" | "single" | "half" | "int8" | "uint8" | "int16" | "uint16" | "int32" | "uint32" | "int64" | "uint64" | "boolean" | "fixdt(1,16,0)" | "fixdt(1,16,2^0,0)" | "<data type expression>"
默认值"Inherit: auto"

指定 Simulink® 检查的 yfit 输出范围下限值。

Simulink 使用最小值执行下列操作:

注意

输出数据类型最小值参数不会对实际 yfit 信号进行饱和处理或截断。为此,请改用 Saturation (Simulink) 模块。

编程用法

模块参数OutMin
类型:字符向量
'[]' | 标量
默认值'[]'

指定 Simulink 检查的 yfit 输出范围上限值。

Simulink 使用最大值执行下列操作:

注意

输出数据类型最大值参数不会对实际 yfit 信号进行饱和处理或截断。为此,请改用 Saturation (Simulink) 模块。

编程用法

模块参数OutMax
类型:字符向量
'[]' | 标量
默认值'[]'

指定预测响应的内积项的数据类型。该类型可以继承、直接指定或表示为数据类型对象,如 Simulink.NumericType

当您选择继承:通过内部规则继承时,模块使用内部规则来确定内积数据类型。内部规则在考虑嵌入式目标硬件的属性的同时,会选择一种能优化数值准确性、性能和所生成代码大小的数据类型。软件无法始终同时优化效率和数值准确性。

有关数据类型的详细信息,请参阅控制信号的数据类型 (Simulink)

点击显示数据类型助手按钮 以显示数据类型助手,这有助于您设置数据类型属性。有关详细信息,请参阅使用数据类型助手指定数据类型 (Simulink)

编程用法

模块参数InnerProductDataTypeStr
类型:字符向量
"Inherit: Inherit via internal rule" | "double" | "single" | "half" | "int8" | "uint8" | "int16" | "uint16" | "int32" | "uint32" | "int64" | "uint64" | "boolean" | "fixdt(1,16,0)" | "fixdt(1,16,2^0,0)" | "<data type expression>"
默认值"double"

指定 Simulink 检查的内积项范围的下限值。

Simulink 使用最小值执行下列操作:

注意

内积数据类型最小值参数不会对实际的内积项值进行饱和处理或截断。

编程用法

模块参数InnerProductOutMin
类型:字符向量
"[]" | 标量
默认值"[]"

指定 Simulink 检查的内积项范围的上限值。

Simulink 使用最大值执行下列操作:

注意

内积数据类型最大值参数不会对实际的内积项值进行饱和处理或截断。

编程用法

模块参数InnerProductOutMax
类型:字符向量
"[]" | 标量
默认值"[]"

模块特性

数据类型

Boolean | double | fixed point | half | integer | single

直接馈通

多维信号

可变大小信号

过零检测

详细信息

全部展开

替代功能

您可以将 MATLAB Function 模块与线性回归对象 (RegressionLinear) 的 predict 对象函数结合使用。有关示例,请参阅Predict Class Labels Using MATLAB Function Block

在决定是使用 Statistics and Machine Learning Toolbox™ 库中的 RegressionLinear Predict 模块还是具有 predict 函数的 MATLAB Function 模块时,请考虑以下几点:

  • 如果使用 Statistics and Machine Learning Toolbox 库模块,可以使用定点工具 (Fixed-Point Designer)将浮点模型转换为定点。

  • 必须为具有 predict 函数的 MATLAB Function 模块启用对可变大小数组的支持。

  • 如果使用 MATLAB Function 模块,您可以在同一 MATLAB Function 模块中的预测之前或之后使用 MATLAB 函数进行预处理或后处理。

扩展功能

C/C++ 代码生成
使用 Simulink® Coder™ 生成 C 代码和 C++ 代码。

定点转换
使用 Fixed-Point Designer™ 设计和仿真定点系统。

版本历史记录

在 R2023a 中推出