matlab中predict函数用法
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了matlab中predict函数用法相关的知识,希望对你有一定的参考价值。
时间序列分析中如何利用predict进行预测,我计算时输出结果和原始观测数据一样多,如何控制使其只预测出1个或X个结果?
求救高手,谢谢
1、先介绍这个求乘函数的prod的语法格式,如图所示
2、现在创建一个向量和一个矩阵。
3、先说一下关于一维矩阵(向量)的使用。
4、说一下按行相乘的使用。
5、最后实验输入input = 0.9 -> 1, 1.2 -> 2, 1.5 -> 3, 2.8 -> 4, 3.9 -> 6p = Predict[input]。
6、基本使用方法就是Predict[a->b],a为原来的,b为指向的输入后按shift+enter,会自动使用一种预测函数。就完成了。
参考技术A clc, cleara=[ ];
a=a'; a=a(:); a=a'; %把原始数据按照时间顺序展开成一个行向量
Rt=tiedrank(a) %求原始时间序列的秩
n=length(a); t=1:n;
Qs=1-6/(n*(n^2-1))*sum((t-Rt).^2) %计算Qs的值
t=Qs*sqrt(n-2)/sqrt(1-Qs^2) %计算T统计量的值
t_0=tinv(0.975,n-2) %计算上alpha/2分位数
b=diff(a) %求原始时间序列的一阶差分
m=ar(b,2,'ls') %利用最小二乘法估计模型的参数
bhat=predict(m,[b'; 0],1) %1步预测,样本数据必须为列向量,要预测1个值,b后要加1个任意数,1步预测数据使用到t-1步的数据
ahat=[a(1),a+bhat1'] %求原始数据的预测值,并计算t=15的预测值
delta=abs((ahat(1:end-1)-a)./a) %计算原始数据预测的相对误差
Predict 函数为指定列返回一个或一组预测值。
语法:
Predict(<scalar column reference>, [option1], [option2], [option n], [INCLUDE_NODE_ID], n)
Predict(<table column reference>, [option1], [option2], [option n], [INCLUDE_NODE_ID], n)
适用范围:标量列引用或表列引用。
返回类型:
<scalar column reference>
或者
<table column reference>
返回类型取决于应用此函数的列的类型。
注释:
选项包括 EXCLUDE_NULL(默认值)、INCLUDE_NULL、INCLUSIVE、EXCLUSIVE(默认值)、INPUT_ONLY 和 INCLUDE_STATISTICS。
注意:对于时序模型,Predict 函数不支持 INCLUDE_STATISTICS。
INCLUDE_NODE_ID 参数在结果中返回 $NODEID 列。 NODE_ID 是为特定事例而对其执行预测的内容节点。 对表列使用 Predict 时,此参数是可选的。
n 参数适用于表列。 该参数根据预测类型设置返回的行数。 如果基础列是序列,则该参数将调用 PredictSequence 函数。 如果基础列是时序,则该参数将调用PredictTimeSeries 函数。 对于关联类型的预测,该参数将调用 PredictAssociation 函数。
Predict 函数支持多态性。
下面的替代缩写形式较为常用:
[Gender] 用于替代 Predict([Gender], EXCLUDE_NULL)。
[Products Purchases] 用于替代 Predict([Products Purchases], EXCLUDE_NULL, EXCLUSIVE)。
注意:此函数的返回类型本身被视为列引用。 也就是说,可将 Predict 函数用作以列引用作为参数的其他函数(Predict 函数本身除外)的参数。
将 INCLUDE_STATISTICS 传递给对表值列的预测时,将在生成的表中添加 $Probability 和 $Support 列。 这些列说明了关联的嵌套表记录的存在概率。
示例:
SELECT Predict([Association].[v Assoc Seq Line Items],INCLUDE_STATISTICS,4) FROM [Association] 参考技术B clc, clear
a=[ ];
a=a'; a=a(:); a=a'; %把原始数据按照时间顺序展开成一个行向量
Rt=tiedrank(a) %求原始时间序列的秩
n=length(a); t=1:n;
Qs=1-6/(n*(n^2-1))*sum((t-Rt).^2) %计算Qs的值
t=Qs*sqrt(n-2)/sqrt(1-Qs^2) %计算T统计量的值
t_0=tinv(0.975,n-2) %计算上alpha/2分位数
b=diff(a) %求原始时间序列的一阶差分
m=ar(b,2,'ls') %利用最小二乘法估计模型的参数
bhat=predict(m,[b'; 0],1) %1步预测,样本数据必须为列向量,要预测1个值,b后要加1个任意数,1步预测数据使用到t-1步的数据
ahat=[a(1),a+bhat1'] %求原始数据的预测值,并计算t=15的预测值
delta=abs((ahat(1:end-1)-a)./a) %计算原始数据预测的相对误差 参考技术C 你的这个问题是怎么解决的,能不能说一下,谢谢~~
以上是关于matlab中predict函数用法的主要内容,如果未能解决你的问题,请参考以下文章