当前位置: 首页 > news >正文

matlab辨识函数ar多通道,AR模型之纠结与predict函数

楼主,你好。

最近我也在研究这AR模型。

楼主问题挺多的哈,下面一个一个解答。

Q1 这里n是一个多项式表达式,m是一个iddata数据,这么理解对吗

A: 我认为是对的。MATLAB—System Identification 工具箱中使用“类”的数据。Iddata就是一个数据的类。对于类的数据,比方说x属于iddata类,输入y=get(x); 就可以查看类的具体数据值(结构体)。Iddata 中含有的属性有 “Domain”,”Name”,”OutputData”等。n是一个多项式的类。

Q2 predict函数

A: 楼主对于predict函数的参数意义存在误解。

函数:yp = predict(m,data,k)

输入: m – 模型类,data—iddata类,k--大于0的整数,不说明则默认无穷大

输出: yp – 预测数据,属于iddata类

功能: 根据输出输入数据(output-imput data) data,按照模型m,估计输出。K为向前预测的步数。

注意:这里的k和楼主理解的k不一样。并不是说k=10 就是把长度为100的时间序列向后推10步得到长110的时间序列。

这里解释下k步向前预测(与其说“预测”,不如说 “估计”这个词更好点)是个什么意思,即:已知0时刻到t时刻的输出数据,0时刻到t+k-1的输入数据,对t+k 时刻的输出值进行估计。对于时间序列来说,时间序列是没有输入数据仅有输出数据的。假如有长度100的时间序列y(1),y(2),….y(100),假设k=10,意义就是可以利用已知的输出y(1),y(2),…y(80)来估计t=90时刻的输出y^(90) (注:“^”代表估计的意思)。而y^(1)~y^(10) 没有可利用的已知输出,则默认为0,自然y^(1)~y^(10)=0。

楼主可能又要问:我一个20阶的AR模型在估计y^(90)的时候最多也就需要y(70)到y(89)的数据就够了啊。我只能说predict函数不是按AR模型来算的,而是将AR模型进行了转换(好像是转成了状态空间模型,源码太复杂了,我也看不太懂),所以估计y^(90)的时候y(1),y(2),…y(80)都用到了。说了这么多,总之为了方便就取k=1。

而且predict函数在上述例子中估计到第100个估计值后就不估计了,楼主想要的那种算到第110个数据的那种函数目前我也不知道,哪位网友发现了麻烦回复我一下。我觉得也就提出AR模型的系数按照AR模型定义自己编程算好点了•••

(详见:System Identification Theory for the User Second Edition LENNART LJUNG 清华大学出版社 P70)

Q3: z=idpoly([y],[]);     %把多项式转换成模型

This model was not estimated from data. 这是什么意思?难道我的数据没有用到吗

A: 前面说过z是类数据。Z不是由数据直接估计得到的模型,而是通过y模型转换而来的,所以Z里面的属性为:This model was not estimated from data.

Q4: m=iddata([x],[]); %Question2:这一行是什么用处?

A: 将数组数据x转化为iddata类的数据m

#5 问题见 Q2

相关文章:

  • matlab 正弦曲线平均值,正弦函数和余弦函数的平均值求解
  • php 打印soap日志,在PHP中记录所有Soap请求和响应
  • oracle调用sqlplus,oracle 安装与SQLPLUS简单用法
  • oracle bi免费不,Oracle BI管理工具.doc
  • oracle查看expdp进度,impdp、expdp监控数据备份恢复完成进度(EXPDP/IMPDP/RMAN)
  • matlab x的几次方怎么表示,PPTx的几次方如何输入?
  • 群辉linux系统,[教程] 群晖VMM虚拟机安装Linux系统无法成功启动桌面的解决办法...
  • linux系统卡死鼠标不动,linux桌面环境鼠标假死.点不动
  • Linux中free函数头文件,FreeImage图形库如何在Linux下的使用
  • linux r如何运行软件,linux上R的使用
  • hnc8进linux环境,鸟哥的linux私房菜(基础篇,8、开机关机、在线)命令
  • 润乾连接linux数据库,Linux下使用润乾设计器
  • linux c语言拷贝u盘,用C语言编写linux cp 拷贝命令
  • linux是开发环境,Linux开发环境
  • 卸载win19安装linux,Win10 LTSC 2019 安装和卸载 linux 子系统
  • Android交互
  • CODING 缺陷管理功能正式开始公测
  • Cookie 在前端中的实践
  • fetch 从初识到应用
  • HTTP中GET与POST的区别 99%的错误认识
  • Idea+maven+scala构建包并在spark on yarn 运行
  • Js实现点击查看全文(类似今日头条、知乎日报效果)
  • maven工程打包jar以及java jar命令的classpath使用
  • Python进阶细节
  • React-Native - 收藏集 - 掘金
  • Redash本地开发环境搭建
  • SQLServer之创建显式事务
  • TiDB 源码阅读系列文章(十)Chunk 和执行框架简介
  • Web标准制定过程
  • 阿里云ubuntu14.04 Nginx反向代理Nodejs
  • 精益 React 学习指南 (Lean React)- 1.5 React 与 DOM
  • 快速构建spring-cloud+sleuth+rabbit+ zipkin+es+kibana+grafana日志跟踪平台
  • 如何将自己的网站分享到QQ空间,微信,微博等等
  • 入门到放弃node系列之Hello Word篇
  • 微信小程序设置上一页数据
  • 详解NodeJs流之一
  • 用Canvas画一棵二叉树
  • TPG领衔财团投资轻奢珠宝品牌APM Monaco
  • 蚂蚁金服CTO程立:真正的技术革命才刚刚开始
  • ​Linux Ubuntu环境下使用docker构建spark运行环境(超级详细)
  • # Swust 12th acm 邀请赛# [ E ] 01 String [题解]
  • #LLM入门|Prompt#2.3_对查询任务进行分类|意图分析_Classification
  • $NOIp2018$劝退记
  • (C语言)fgets与fputs函数详解
  • (C语言)共用体union的用法举例
  • (待修改)PyG安装步骤
  • (第8天)保姆级 PL/SQL Developer 安装与配置
  • (附源码)springboot“微印象”在线打印预约系统 毕业设计 061642
  • (附源码)springboot猪场管理系统 毕业设计 160901
  • (牛客腾讯思维编程题)编码编码分组打印下标(java 版本+ C版本)
  • ***php进行支付宝开发中return_url和notify_url的区别分析
  • *p++,*(p++),*++p,(*p)++区别?
  • .NET Core WebAPI中封装Swagger配置
  • .net core 连接数据库,通过数据库生成Modell
  • .net mvc actionresult 返回字符串_.NET架构师知识普及