系统辨识最小二乘法大作业.docx

上传人:b****8 文档编号:9614519 上传时间:2023-02-05 格式:DOCX 页数:26 大小:611.19KB
下载 相关 举报
系统辨识最小二乘法大作业.docx_第1页
第1页 / 共26页
系统辨识最小二乘法大作业.docx_第2页
第2页 / 共26页
系统辨识最小二乘法大作业.docx_第3页
第3页 / 共26页
系统辨识最小二乘法大作业.docx_第4页
第4页 / 共26页
系统辨识最小二乘法大作业.docx_第5页
第5页 / 共26页
点击查看更多>>
下载资源
资源描述

系统辨识最小二乘法大作业.docx

《系统辨识最小二乘法大作业.docx》由会员分享,可在线阅读,更多相关《系统辨识最小二乘法大作业.docx(26页珍藏版)》请在冰豆网上搜索。

系统辨识最小二乘法大作业.docx

系统辨识最小二乘法大作业

系统辨识大作业

最小二乘法及其相关估值方法应用

学院:

自动化学院

专业:

信息工程

学号:

2007302171

姓名:

马志强

日期:

2010.11.14

 

基于最小二乘法的多种系统辨识方法研究

1.最小二乘法的引出

在系统辨识中用得最广泛的估计方法是最小二乘法(LS)。

设单输入-单输出线性定长系统的差分方程为

(5.1.1)

式中:

为随机干扰;为理论上的输出值。

只有通过观测才能得到,在观测过程中往往附加有随机干扰。

的观测值可表示为

(5.1.2)

式中:

为随机干扰。

由式(5.1.2)得

(5.1.3)

将式(5.1.3)带入式(5.1.1)得

(5.1.4)

我们可能不知道的统计特性,在这种情况下,往往把看做均值为0的白噪声。

(5.1.5)

则式(5.1.4)可写成

(5.1.6)

在观测时也有测量误差,系统内部也可能有噪声,应当考虑它们的影响。

因此假定不仅包含了的测量误差,而且包含了的测量误差和系统内部噪声。

假定是不相关随机序列(实际上是相关随机序列)。

现分别测出个随机输入值,则可写成个方程,即

 

上述个方程可写成向量-矩阵形式

(5.1.7)

 

则式(5.1.7)可写为

(5.1.8)

式中:

为维输出向量;为维噪声向量;为维参数向量;为测量矩阵。

因此式(5.1.8)是一个含有个未知参数,由个方程组成的联立方程组。

如果,方程数少于未知数数目,则方程组的解是不定的,不能唯一地确定参数向量。

如果,方程组正好与未知数数目相等,当噪声时,就能准确地解出

(5.1.9)

如果噪声,则

(5.1.10)

从上式可以看出噪声对参数估计是有影响的,为了尽量较小噪声对估值的影响。

在给定输出向量和测量矩阵的条件下求系统参数的估值,这就是系统辨识问题。

可用最小二乘法来求的估值,以下讨论最小二乘法估计。

2.最小二乘法估计算法

设表示的最优估值,表示的最优估值,则有

(5.1.11)

写出式(5.1.11)的某一行,则有

(5.1.12)

设表示与之差,即

-

 

(5.1.13)

式中

 

成为残差。

把分别代入式(5.1.13)可得残差。

则有

(5.1.14)

最小二乘估计要求残差的平方和为最小,即按照指数函数

(5.1.15)

为最小来确定估值。

求对的偏导数并令其等于0可得

(5.1.16)

(5.1.17)

由式(5.1.17)可得的最小二乘估计

(5.1.18)

3.递推最小二乘法

为了实现实时控制,必须采用递推算法,这种辨识方法主要用于在线辨识。

设已获得的观测数据长度为,将式(5.1.8)中的和分别用来代替,

(5.3.1)

用的最小二乘估计,则

(5.3.2)

(5.3.5)

于是

(5.3.6)

如果再获得1组新的观测值和,则又增加1个方程

(5.3.7)

式中

 

将式(5.3.1)和式(5.3.7)合并,并写成分块矩阵形式,可得

(5.3.8)

根据上式可得到新的参数估值

(5.3.9)

式中

根据矩阵求逆引理可以求得递推最小二乘法辨识公式

(5.3.19)

(5.3.20)

(5.3.21)

由于进行递推计算需要给出和初值和,通过计算证明,可以取初值:

,,c是充分大的常数,为单位矩阵,则经过若干次递推之后能够得到较好的参数估计。

3.辅助变量法

辅助变量法是一种可克服最小二乘有偏估计的一种方法,对于原辨识方程

(5.4.1)

当是不相关随机序列时,最小二乘法可以得到参数向量的一致无偏估计。

但是,在实际应用中往往是相关随机序列。

假定存在着一个的矩阵满足约束条件

(5.4.2)

式中是非奇异的。

用乘以式(5.4.1)等号两边得

(5.4.3)

由上式得

(5.4.4)

如果取

(5.4.5)

作为估值,则称为辅助变量估值,矩阵成为辅助变量矩阵,中的元素称为辅助变量。

常用的辅助变量法有递推辅助变量参数估计法,自适应滤波法,纯滞后等。

4.广义最小二乘法

广义最小二乘法是能克服最小二乘法有偏估计的另一种方法,这种方法计算比较复杂

但效果比较好。

下面直接介绍广义最小二乘法的计算步骤:

(1)应用得到的输入和输出数据和,按模型

求出的最小二乘估计

(2)计算残差

(3)用残差代替,计算

(4)计算和

 

(5)应用得到的和按模型

用最小二乘法重新估计,得到的第2次估值。

然后按步骤

(2)计算残差,按步骤(3)重新估计,得到估值。

再按照步骤(4)计算和,按照步骤(5)求的第3次估值。

重复上述循环,之道的估值收敛为止。

5.一种交替的广义最小二乘法求解技术(夏式法)

这种方法是夏天长提出来的,又称夏式法。

以上讨论过的广义最小二乘法的特点在于系统的输入和输出信号反复过滤。

一下介绍的夏式法是一种交替的广义最小二乘法求解技术,它不需要数据反复过滤,因而计算效率较高。

这种方法可消去最小二乘估计中的偏差,而且由这种方法导出的计算方法也比较简单。

基于以上的几种方法,有

(5.7.1)

因而有

(5.7.2)

应用最小二乘法可得到参数估值

(5.7.3)

可以推出

(5.7.11)

上式中的第1项是最小二乘估计,第2项是偏差项,所以必须准确计算。

为了准确计算,可采用迭代的方法。

6.专题解答

设但输入-单输出系统的差分方程为

 

取真实值,输入数据如下所示

k

u(k)

k

u(k)

k

u(k)

1

1.147

11

-0.958

21

0.485

2

0.201

12

0.810

22

1.633

3

-0.787

13

-0.044

23

0.043

4

-1.159

14

0.947

24

1.326

5

-1.052

15

-1.474

25

1.706

6

0.866

16

-0.719

26

-0.340

7

1.152

17

-0.086

27

0.890

8

1.573

18

-1.099

28

1.144

9

0.626

19

1.450

29

1.177

10

0.433

20

1.151

30

-0.390

用的真实值利用查分方程求出作为测量值,为均值为0,方差为0.1,0.5的不相关随机序列。

(1)用最小二乘法估计参数。

(2)用递推最小二乘法估计。

(3)用辅助变量法估计参数。

(4)设,用广义最小二乘法估计参数。

(5)用夏式法估计参数。

(6)详细分析和比较所获得的参数辨识结果,并说明上述参数便是方法的优缺点。

根据题目要求的解法,利用Matlab编程实现系统辨识的估值

利用最小二乘法估计的结果如下:

最小二乘法

方差

0.0001

1.6280

0.7028

0.3971

3.449

1..6316

0.7059

0.3947

0.3494

1.6354

0.7120

0.3918

0.3463

1.6362

0.7082

0.3970

0.3527

1.6360

0.7165

0.3906

0.3534

1.6289

0.7046

0.3908

0.3437

0.001

1.1543

0.6766

0.4064

0.3304

1.5577

0.6371

0.3868

0.3249

1.6050

0.6860

0.3737

0.3244

1.6060

0.6816

0.3583

0.3167

1.6195

0.7030

0.3907

0.3366

1.5670

0.6572

0.3752

0.3140

0.01

1.3538

0.5010

0.3486

0.1709

0.8956

0.1637

0.4237

0.0697

1.0008

0.2036

0.4236

0.1268

1.3403

0.4707

0.3826

0.2615

1.0574

0.2289

0.3682

0.1317

1.1231

0.2963

0.3592

0.1506

0.1

1.1424

0.2710

0.3284

0.2216

1.0255

0.1736

0.3766

0.1844

0.8896

0.1109

0.3893

0.0813

0.8182

0.1114

0.4298

0.0923

0.8100

0.0153

0.4122

0.1352

0.7715

0.1311

0.4714

0.0640

0.5

0.9751

0.1017

0.0271

0.0792

0.8938

0.0740

0.3484

0.1634

0.1927

0.0197

0.3762

0.1521

0.5506

0.0392

0.6510

0.0584

0.7560

0.0494

0.3372

0.1437

0.9459

0.1377

0.3815

0.1853

部分程序运行结果

 

递推最小二乘法

方差

0.0001

1.6754

0.6787

0.5207

0.3924

1.3076

0.2900

0.0075

0.3284

1.5146

0.6963

1.1401

0.1639

1.5733

0.7782

0.4149

0.7110

1.1602

0.4753

0.6736

0.3159

1.2091

0.3192

0.5277

0.0275

0.001

1.4767

0.4040

0.2679

0.5512

1.6259

0.7594

0.3253

0.3780

1.5393

0.4757

0.1268

0.4346

1.1548

0.1700

0.1926

0.8251

0.8858

0.0760

0.3385

0.0406

1.4129

0.3127

0.0992

0.8380

0.01

1.3485

0.3445

0.3194

0.3710

1.1639

0.3296

0.7813

0.2162

1.9946

1.2323

1.4852

0.0304

1.3924

0.3543

0.3319

0.4572

1.3982

0.3608

0.7773

0.3152

1.6346

0.7229

0.5780

0.3947

0.1

1.5624

0.7132

0.4422

0.4112

1.7335

0.7152

0.0844

0.6399

1.4763

0.5366

0.3255

0.3116

1.4477

0.3489

0.2218

0.2265

1.6216

0.7082

0.6595

0.4275

1.5105

0.4000

0.0113

0.2213

0.5

1.7927

0.9411

0.2730

0.3471

1.5556

0.8877

0.5972

0.1217

1.7868

1.2538

1.1248

0.2100

1.5733

0.7434

0.3589

0.1387

1.3193

0.6084

1.2971

0.3029

1.5959

0.5386

0.0141

0.6947

部分程序运行结果:

 

辅助变量法

方差

0.0001

1.7799

0.8588

0.4147

0.4046

1.3076

0.2900

0.0075

0.3284

1.6735

0.7578

0.4060

0.3484

1.5812

0.6546

0.3771

0.3611

1.6657

0.7469

0.3772

0.3561

1.5281

0.6509

0.3645

0.3302

0.001

1.6295

0.6775

0.4082

0.3501

1.6425

0.7305

0.3937

0.3543

1.5595

0.6052

0.3563

0.3362

1.4145

0.4925

0.4021

0.2873

1.6371

0.7270

0.3681

0.3418

1.3539

0.4733

0.3906

0.2489

0.01

1.3451

0.4700

0.3822

0.2680

1.3657

0.4893

0.4349

0.2496

1.3702

0.5009

0.4388

0.2611

1.1884

0.3707

0.3457

0.1521

1.3636

0.5330

0.4135

0.2064

1.3158

0.4836

0.4562

0.2169

0.1

1.5545

0.6167

0.4104

0.3512

1.5900

0.6648

0.4098

0.3664

1.6610

0.7029

0.4001

0.3495

1.5104

0.6014

0.3968

0.3256

1.5620

0.6496

0.3950

0.3097

1.4418

0.5706

0.4183

0.2783

0.5

1.4952

0.5704

0.3769

0.3483

1.5592

0.6541

0.4387

0.3330

1.3637

0.5302

0.3865

0.1916

1.5543

0.6324

0.3208

0.2929

1.5385

0.5994

0.3661

0.3576

1.3511

0.4839

0.3412

0.2208

部分程序运行结果:

 

广义最小二乘法

方差

0.0001

1.6451

0.7182

0.3895

0.3503

1.6468

0.7205

0.3866

0.3492

1.6308

0.7038

0.3852

0.3457

1.6467

0.7188

0.3898

0.3544

1.6411

0.7156

0.3898

0.3477

1.6441

0.7185

0.3896

0.3488

0.001

1.7027

0.7678

0.4059

0.3761

1.6477

0.7166

0.3973

0.3643

1.6391

0.7113

0.3836

0.3504

1.6586

0.7166

0.3791

0.3672

1.6831

0.7472

0.3994

0.3731

1.5964

0.6850

0.3655

0.3231

0.01

1.6826

0.7469

0.3859

0.3600

1.7245

0.7696

0.3565

0.3642

1.6577

0.7186

0.3910

0.3820

1.6656

0.7263

0.3425

0.3413

1.6903

0.7392

0.3633

0.3838

1.6942

0.7439

0.3834

0.3880

0.1

0.8996

0.1515

0.4435

0.0604

1.0380

0.3044

0.3410

0.0464

1.6571

0.6569

0.4589

0.4259

1.2180

0.4584

0.3152

0.1030

0.1957

0.0974

0.2164

0.1035

1.6859

0.7232

0.4144

0.4404

0.5

1.4053

0.6703

0.3672

0.1372

1.5783

0.6148

0.3512

0.4173

1.0233

0.0658

0.2035

0.4060

1.5973

0.8103

0.3544

0.2131

1.6191

0.6709

0.3111

0.4866

1.0804

0.2210

0.7500

0.5185

部分程序运行结果:

 

夏式法

方差

0.0001

1.6367

0.7090

0.3910

0.3511

1.6451

0.7184

0.3876

0.3472

1.3618

0.2159

0.8205

0.5851

1.6291

0.7075

0.3911

0.3464

1.6173

0.6929

0.3955

0.3439

1.6307

0.7066

0.3912

0.3449

0.001

1.5314

0.6407

0.4016

0.3092

1.5632

0.6575

0.4204

0.3319

1.6172

0.6946

0.3925

0.3258

1.5670

0.6489

0.4016

0.3233

1.5326

0.6243

0.3995

0.3070

1.6251

0.6946

0.3621

0.3360

0.01

0.8815

0.1089

0.3734

0.0440

1.3763

0.4972

0.4121

0.2654

1.5027

0.5952

0.3854

0.3277

1.3421

0.4268

0.3978

0.2790

1.2454

0.3024

0.3669

0.2525

1.3361

0.4741

0.4999

0.2900

0.1

0.6639

0.1074

0.6847

0.0827

1.1406

0.3154

0.4259

0.2367

0.1791

0.2916

0.9454

0.2126

1.2068

0.3827

0.7460

0.3220

0.6412

0.0704

0.5802

0.0877

1.0384

0.2878

0.7493

0.3793

0.5

0.9330

0.0752

0.9741

0.5882

0.6291

0.1686

0.4679

0.7869

0.5986

0.2792

0.2605

0.2008

0.4441

0.8033

0.7442

1.7667

0.6216

0.1440

0.5821

0.4906

0.6576

0.0999

1.0002

0.0263

部分程序运行结果:

 

结论:

通过编程计算,获得在噪声方差比较小的情况下,各种方法所获得的估值比较理想,但随着噪声方差的增大,估值的偏差随之增大,横向比较看来夏式法与广义最小二乘法能够更好地还原参数值,当观测值足够多时,各种方法都能很好地反映参数真实值。

Matlab源程序:

%最小二乘估计%

clear

u=[1.1470.201-0.787-1.589-1.0520.8661.1521.5730.6260.433-0.9850.810-0.0440.947-1.474-0.719-0.086-1.0991.4501.1510.4851.6330.0431.3261.706-0.3400.8900.1441.177-0.390];

n=normrnd(0,sqrt(0.1),1,31);

z=zeros(1,30);

fork=3:

31

z(k)=-1.642*z(k-1)-0.715*z(k-2)+0.39*u(k-1)+0.35*u(k-2)+n(k)+1.642*n(k-1)+0.715*n(k-2);

end

h0=[-z

(2)-z

(1)u

(2)u

(1)]';

HLT=[h0,zeros(4,28)];

fork=3:

30

h1=[-z(k)-z(k-1)u(k)u(k-1)]';

HLT(:

k-1)=h1;

end

HL=HLT';

y=[z(3);z(4);z(5);z(6);z(7);z(8);z(9);z(10);z(11);z(12);z(13);z(14);z(15);z(16);z(17);z(18);z(19);z(20);z(21);z(22);z(23);z(24);z(25);z(26);z(27);z(28);z(29);z(30);z(31)];%求出FAI

c1=HL'*HL;

c2=inv(c1);

c3=HL'*y;

c=c2*c3;

%display('方差=0.1时,最小二乘法估计辨识参数θ如下:

');

a1=c

(1);

a2=c

(2);

b1=c

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 其它模板

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1