主要内容

getcov

确定模型的参数协方差

描述

例子

cov_data= getcov (sys返回已识别模型参数的原始协方差。

  • 如果sys那么是单一模型吗cov_data是一个np——- - - - - -np矩阵。np参数的个数是多少sys

  • 如果sys是一个模型数组吗cov_data大小的单元格数组是否等于数组大小sys

    cov_data (i, j, k,…)的协方差数据sys (:,:, i, j, k,…)

例子

cov_data= getcov (syscov_type根据指定的协方差类型,以矩阵或结构的形式返回参数协方差。

例子

cov_data= getcov (syscov_type“免费”)只返回自由模型参数的协方差数据。

例子

全部折叠

获取已识别的模型。

负载iddata1z1Sys = tfest(z1,2);

得到模型的原始参数协方差。

Cov_data = getcov
cov_data =5×51.2131 -4.3949 -0.0309 -0.5531 0 -4.3949 115.0838 1.8598 10.6660 0 -0.0309 1.8598 0.0636 0.1672 0 -0.5531 10.6660 0.1672 1.2433 0 0 0 0 0 0 0 0

cov_data包含参数向量的协方差矩阵[sys.Numerator sys.Denominator(2:结束),sys.IODelay]

sys.Denominator (1)固定为1不被当作参数。与延迟参数(第五行和第五列)对应的协方差矩阵项为零,因为没有估计延迟。

获取已识别的模型数组。

负载iddata1z1;Sys1 = tfest(z1,2);Sys2 = tfest(z1,3);Sysarr = stack(1,sys1,sys2);

sysarr是连续时间的2乘1的传递函数数组。

获取数组中模型的原始参数协方差。

Cov_data = getcov(sysarr)
cov_data =2×1单元格数组{5x5 double} {7x7 double}

cov_data是一个2乘1单元格数组。cov_data {1}而且cov_data {2}原始参数是否为协方差矩阵sys1而且sys2

加载估计数据。

负载iddata1z1z1。Y = cumsum(z1.y);

估计模型。

Init_sys = idtf([100 1500],[1 10 100]);init_sys.Structure.Numerator。最小= eps;init_sys.Structure.Denominator。最小= eps;init_sys. structure . denomator . free (end) = false;opt = tfestOptions(“SearchMethod”“lm”);Sys = tfest(z1,init_sys,opt);

sys是一个idtf模型有六个参数,其中四个是估计的。

得到估计参数的协方差矩阵。

cov_type =“价值”;Cov_data = getcov(sys,cov_type,“免费”
cov_data =4×4105× 0.0269 -0.1237 -0.0001 -0.0017 -0.1237 1.0221 0.0016 0.0133 -0.0001 0.0016 0.0000 0.0000 -0.0017 0.0133 0.0000 0.0002

cov_data是一个4 x4协方差矩阵,与四个估计参数对应。

获取已识别的模型。

负载iddata1z1Sys = tfest(z1,2);

得到模型的因子参数协方差。

cov_type =“因素”;Cov_data = getcov(sys,cov_type);

获取已识别的模型数组。

负载iddata1z1Sys1 = tfest(z1,2);Sys2 = tfest(z1,3);Sysarr = stack(1,sys1,sys2);

sysarr是连续时间的2乘1的传递函数数组。

获取数组中模型的因子参数协方差。

cov_type =“因素”;Cov_data = getcov(sysarr,cov_type)
cov_data =2×1包含字段的struct数组:R T免费

cov_data是一个2乘1结构数组。cov_data (1)而且cov_data (2)是因式协方差结构吗sys1而且sys2

加载估计数据。

负载iddata1z1z1。Y = cumsum(z1.y);

估计模型。

Init_sys = idtf([100 1500],[1 10 100]);init_sys.Structure.Numerator。最小= eps;init_sys.Structure.Denominator。最小= eps;init_sys. structure . denomator . free (end) = false;opt = tfestOptions(“SearchMethod”“lm”);Sys = tfest(z1,init_sys,opt);

sys,一个idtf模型,有六个参数,其中四个是估计的。

得到估计参数的因子协方差。

cov_type =“因素”;Cov_data = getcov(sys,cov_type,“免费”);

输入参数

全部折叠

标识的模型,指定为idtf中的难点idgreyidpolyidprocidnlarxidnlhw,或idnlgrey模型或此类模型的数组。

getcov命令返回cov_data作为[]idnlarx而且idnlhw模型,因为这些模型不存储参数协方差数据。

协方差返回类型,指定为任意一种“价值”“因素”

  • 如果cov_type“价值”,然后cov_data返回一个矩阵(原始协方差)。

  • 如果cov_type“因素”,然后cov_data作为包含协方差矩阵因子的结构返回。

    如果协方差矩阵包含非有限值,不是正定的,或者是病态的,则使用此选项来获取协方差数据。你可以用协方差因子代替数值上不利的协方差矩阵来计算响应不确定性。

    该选项在以下情况下不提供数量优势:

    • sys使用某些仪器变量方法进行估计,例如iv4

    • 的参数协方差sys使用已弃用的CovarianceMatrix模型属性。

数据类型:字符

输出参数

全部折叠

参数协方差sys,作为矩阵、矩阵的单元格数组、结构或结构的单元格数组返回。cov_data[]idnlarx而且idnlhw模型。

  • 如果sys是单型号和cov_type“价值”,然后cov_data是一个np——- - - - - -np矩阵。np参数的个数是多少sys

    这个矩阵的非零元素的值等于sys.Report.Parameters.FreeParCovariancesys通过估计得到。对应于固定参数的行和列项为零。

  • 如果sys是单型号和cov_type“因素”,然后cov_data是一个包含字段的结构:

    • R-通常是上三角矩阵。

    • T-变换矩阵。

    • 免费的-长度的逻辑向量np,表示模型参数是否是自由的(估计的)。np参数的个数是多少sys

    要获得使用因式分解形式的协方差矩阵,输入:

    Free = cov_factor .Free;T = cov_factor .T;R = cov_factor .R;Np = nparams(sys);Cov_matrix =零(np);cov_matrix(Free, Free) = T*inv(R'*R)*T';

    为了数值精度,计算T *发票(R ' T * R) *作为X * X ',在那里X = t / r

  • 如果sys是一个模型数组吗cov_data大小的单元格数组是否等于数组大小sys

    cov_data (i, j, k,…)的协方差数据sys (:,:, i, j, k,…)

版本历史

在R2012a中介绍

Baidu
map