[关闭]
@fanxy 2016-07-12T18:51:46.000000Z 字数 2871 阅读 2029

第六讲 爱上统计学

樊潇彦 复旦大学经济学院 经济数学


1. 课件和资料

Ch06.pdf1873.2kB

2. 程序附录

2.1 概率函数

四种前缀(以正态分布 为例):

  1. x <- seq(from = -5, to = 5, by = 0.01)
  2. y <- dnorm(x)
  3. plot(x=x,y=y,type="l",col="seagreen",lwd=2,
  4. xlab="x",ylab="density\ny = dnorm(x)")
  5. grid(col="darkgrey",lwd=2)
  6. title(main="概率分布(PDF)")
  7. y <- pnorm(x)
  8. plot(x=x,y=y,type="l",col="seagreen",lwd=2, xlab="x = qnorm(y)",
  9. ylab="probability\ny = pnorm(x)") ; grid(col="darkgrey",lwd=2)
  10. title(main="累积分布(CDF)")
  11. set.seed(1)
  12. x <- rnorm(100, sd=3) # 模拟生成单变量
  13. y <- rnorm(100, mean=1) + x
  14. mn = apply(cbind(x,y), 2, mean) # 计算x和y的均值
  15. covmat= cov(cbind(x,y)) # 计算x和y的协方差
  16. library(mnormt) # 调用生成多元随机变量的包
  17. simdata=rmnorm(300,mean=mn,varcov=covmat) # 模拟生成双变量
  18. library(ggplot2)
  19. ggplot(as.data.frame(simdata), aes(x=x, y=y)) +
  20. geom_point() +
  21. geom_smooth(method="lm") +
  22. theme_bw()

2.2 统计描述:以汽车保险数据为例

  1. library(MASS)
  2. data(Insurance) # 调用保险数据
  3. str(Insurance) # 查看数据结构
  4. attach(Insurance) # 绑定数据
  1. # 1)连续变量
  2. mean(Holders) # 基本统计量,不能有缺失值
  3. # mean(Holders, na.rm = TRUE) # 有缺失值时用
  4. median(Holders)
  5. sd(Holders)
  6. var(Holders)
  7. quantile(Holders) # 四分位值
  8. quantile(Holders,seq(0,1,0.1)) # 十分位值
  9. library(Hmisc)
  10. describe(data.frame(District, Group, Age)) # 简单数据描述
  11. describe(data.frame(Holders, Claims))
  12. library(fBasics)
  13. basicStats(data.frame(Holders, Claims)) # 更多统计量
  14. # 2)离散变量
  15. table(Age) # 离散变量频率表
  1. # 1)两个连续变量
  2. cor(data.frame(Holders, Claims),use="pairwise",method="pearson") # 相关系数
  3. cov(data.frame(Holders, Claims),use="pairwise",method="pearson") # 协方差矩阵
  4. # 2)一个连续变量和一个离散变量
  5. by(data.frame(Holders,Claims),Age,summary) # 按离散变量分组,对连续变量做统计描述
  6. # 3)两个离散变量
  7. table(District,Age) # 两个离散变量频率表
  8. detach(Insurance) # 解除绑定

2.3 统计推断:以资产收益率数据为例

  1. # 以Tsay(2013)中3M公司股票对数收益率为例
  2. url="https://faculty.chicagobooth.edu/ruey.tsay/teaching/introTS/ch1data.zip"
  3. download.file(url, "ch1data.zip") # 下载存为同名文件
  4. x=read.table(unz("ch1data.zip","d-mmm-0111.txt"),header=T) # 读入数据
  5. x=x[,2] # 去掉日期
  6. # 1) 作图
  7. hist(x,nclass=30) # 直方图
  8. d1=density(x,na.rm=T) # 密度
  9. plot(d1$x,d1$y,xlab='',ylab='',type='l',
  10. main="3M公司股票对数收益率密度函数") # 画密度线
  11. rangex=range(x,na.rm=T) # 取值范围
  12. seqx=seq(rangex[1],rangex[2],.001) # x轴间隔0.001
  13. y1=dnorm(seqx,mean(x,na.rm=T),stdev(x,na.rm=T)) # 正态分布
  14. lines(seqx,y1,lty=2) # 添加正态分布线
  15. # 2) 检验
  16. basicStats(x)
  17. mean(x,na.rm=TRUE); var(x,na.rm=TRUE); stdev(x,na.rm=TRUE);
  18. t.test(x) # 均值检验 H0: x=0
  19. normalTest(x,method='jb',na.rm=T) # 正态分布检验,JB-test
  20. s3=skewness(x,na.rm =T)
  21. T=length(x)
  22. t3=s3/sqrt(6/T)
  23. pp=2*(1-pnorm(t3)) # 偏度检验(Skewness test)
  24. s4=kurtosis(x,na.rm =T)
  25. t4=s4/sqrt(24/T)
  26. pp=2*(1-pnorm(t4)) # 峰度检验(Kurtosis test)

3. 推荐阅读

爱上统计学.jpg-43.7kB 此处输入链接的描述

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注