数据的基本统计分析

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数据的基本统计分析

数据的基本统计分析

1.数据的描述性统计分析

通常在得到数据并对数据进行除错的预处理后,需要对数据进行描述性的统计分析。比如:对数据中变量的最小值、最大值、中位数、平均值、标准差、偏度、峰度以及正态性检验等进行分析。对于这些经常性遇到的重复过程,我们可以自己编写函数,将函数保存在MATLAB自动搜索文件夹下,然后就可以直接调用自己定义的函数了。对于上述描述性统计分析,我们可以在MATLAB命令窗口中输入:edit description,然后在弹出的窗口中选择yes,就创建了一个文件名为description的M文件。然后在弹出的空白文件中编写以下M函数: function D=description(x)

%descriptive statistic analysis

%input:

%x is a matrix, and each colummn stands for a variable

%output:

%D:structure variable,denotes Minimium,Maximium,Mean,Median,

%Standard_deviation,Skewness,Kurtosis,and normal distribution test,respectively.

%notes:when the number of oberservations of the colummn variables less than 30,

%Lilliefors test is used for normal distribution test,and output D.LSTA denotes

%test statistic and D.LCV denote critical value under 5% significant level;

%otherwise, Jarque-Bera test is used, and output D.JBSTA denotes test statistic

%and D.JBCV denote critical value under 5% significant level.If test statistic is

%less than critical value,the null hypothesis (normal distribution) can not

%be rejected under 5% significant level.

D.Minimium=min(x);

D.Maximium=max(x);

D.Mean=mean(x);

D.Median=median(x);

D.Standard_deviation=std(x);

D.Skewness=skewness(x);

D.Kurtosis=kurtosis(x);

if size(x,1)<30

disp('small observations,turn to Lilliefors test for normal distribution')

for i=1:size(x,2)

[h(i),p(i),Lilliefors(i),LCV(i)]=lillietest(x(:,i),0.05);

end

D.LSTA=Lilliefors;

D.LCV=LCV;

else

for i=1:size(x,2)

[h(i),p(i),Jarque_Bera(i),JBCV(i)]=jbtest(x(:,i),0.05);

end

D.JBSTA=Jarque_Bera;

D.JBCV=JBCV;

end

注意在上面给出的函数例子中,我们使用了description作为文件名,这与函数文件中第一行中的description保持了一致。这样就可以以D=description(x)形式调用该函数。如果使用不同于description的文件名保存,比如:statistic,则调用该函数时,必须以D=statistic(x)形式调用。为避免调用时的麻烦,尽量使用相同的名称保存函数。在上面的函数description中给出了正态分布检验的统计量与5%显著水平下的临界值。当样本容量低于30时,使用Lilliefors 检验;当样本容量超过30时使用Jarque-Bera检验。

下面我们以上证综合指数为例来调用刚刚自定义的函数description。假定我们只关心以开盘价、最高价、最低价、收盘价表示的日收益率。在读入数据并对数据进行除错的预处理后(将数据按照日期升序进行重新排列),我们得到变量b、c、d、e分别表示1990年12月19日到2006年9月27日之间的开盘价、最高价、最低价、收盘价数据。然后在MATLAB命令窗口中输入:

x=price2ret([b,c,d,e]);%将价格转换为对数收益率

D=description(x)%调用自定义函数description

得到以下结果:

D =

Minimium: [-0.3170 -0.1565 -0.4498 -0.1791]

Maximium: [0.7138 0.7607 0.7372 0.7192]

Mean: [7.4406e-004 7.3581e-004 7.4450e-004 7.3574e-004]

Median: [7.0916e-004 8.0367e-004 3.6515e-004 4.3624e-004]

Standard_deviation: [0.0291 0.0253 0.0278 0.0265]

Skewness: [4.5113 8.2876 4.2696 6.1913]

Kurtosis: [111.7483 229.2601 162.1498 156.0935]

JBSTA: [1.9186e+006 8.2927e+006 4.0928e+006 3.8010e+006]

JBCV: [5.9915 5.9915 5.9915 5.9915]

2.样本分布函数与概率密度函数

在对数据进行基本的描述性统计分析后,有时我们还需要对变量的样本分布函数与样本概率密度函数进行分析。甚至有时候,基于研究的需要,我们还要根据样本的历史数据,来产生随机样本进行某些研究。下面以1990年12月19日到2006年9月27日之间的上证综合指数收盘价为例,给出如何利用MATLAB得到上证综合指数日对数收益率的经验分布函数以及样本的概率密度函数,还有如何根据历史收益率的经验分布来生成随机数。

(1)样本分布函数

假定我们在MATLAB中已经读入了2000年1月1日到2006年6月1日之间的上证综合指数的日期和收盘价数据,在经过数据的预处理后,得到列向量a和

相关文档
最新文档