我是靠谱客的博主 隐形铃铛,最近开发中收集的这篇文章主要介绍matlab模拟gpd,利用Matlab进行极值统计的一个例子——GPD方法.PDF,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

利用Matlab进行极值统计的一个例子——GPD方法

利用Matlab 进行极值统计的一个例子——GPD 方法

科研菜鸟

/u/sanshiphy

数据和例子均来自于S. Coles, An introduction to statistical modeling of extreme values,

Springer, 2007

一、 数据

数据是south-west England 这个地方的日降雨量 (1914-1962),原始数据可以从R 语言

包中调出:

0

8

0

6

n

i

a

r 0

4

0

2

0

0 5000 10000 15000

Index

二、 GPD 的极大似然估计

1、超越量的似然估计

广义Pareto 分布为:

 ξy −1/ξ

− < > ≡ =− +

P {X u y | X u } H (y ) 1 1  

 σ 

其中,y >0 ,1 y /  0 ,并且广义Pareto 分布和广义极值分布的参数关系为:

+ξ σ >

ξ ξ ,σ σ =+ξ(u −µ) 。

Matlab 中涉及这一方面的函数主要有:

parmhat = gpfit(X)

returns maximum likelihood estimates of the parameters for the two-parameter generalized Pareto

(GP) distribution given the data in X. parmhat(1) is the tail index (shape) parameter, K and

parmhat(2) is the scale parameter, sigma. gpfit does not fit a threshold (location) parameter.

[parmhat,parmci] = gpfit(X)

returns 95% confidence intervals for the parameter estimates.

程序

clear;clc;

load('rain.txt');

srain=rain(rain>30);

[parmhat,parmci]=gpfit(srain-30);

bin=min(srain-30):0.05:max(srain-30);

for i=1:length(bin)

g(i)=sum(srain-30<=bin(i))./length(srain-30);

end

x=parmhat(1).*(bin./parmhat(2));

y=-parmhat(1).*log(1-g);

plot(x,y,'ko')

hold on;

plot(0.5:0.01:1.5,log(1+(0.5:0.01:1.5)));

xlabel('xi(y/sigma)');

ylabel('-xilog(1-H(y))');

结果

该结果与Coles 的结果类似。

还可利用evim 包

最后

以上就是隐形铃铛为你收集整理的matlab模拟gpd,利用Matlab进行极值统计的一个例子——GPD方法.PDF的全部内容,希望文章能够帮你解决matlab模拟gpd,利用Matlab进行极值统计的一个例子——GPD方法.PDF所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(44)

评论列表共有 0 条评论

立即
投稿
返回
顶部