计量经济学老师留的eviews作业,暂且放在这里
1.假设检验有效性
生成服从标准正态的随机变量u,样本容量n=200。若假设我们仅仅知道u服从正态分布,但我们不知道参数μ和𝜎2,根据样本数据提出假设𝐻0:μ=0.2,备择假设𝐻1:μ≠0.2。编写程序,对原假设进行检验。求出接受原假设𝐻0:μ=0.2的概率(接受错误假设的概率)。拒绝原假设的概率是多少?(检验有效性)
分析:单个正态总体,均值和方差都不知道,关于均值的检验,采用t检验法,分母里用的S
下面是摘自《应用蒙特卡洛方法辅助理解计量经济学原理和方法 ———基于 Eviews程序设计的两个实例》(赵 昆)的一段话
workfile u 1 10000
series t1
series t2
scalar count1=0
scalar count2=0
!n=200//!加字符串或者数字表示控制变量,用=来赋值
smpl 1 !n//smpl样本取样,从1到!n到200
scalar left=@qtdist(0.025,!n-1) // t分布,@qtdist(p,v)p分位数
scalar right=@qtdist(0.975,!n-1)
for !i=1 to 10000//定义控制变量i,建立循环,循环次数为10000次
series u=@rnorm//生成u
scalar avr=@mean(u)//当前样本的均值
scalar stdev=@stdev(u)//样本区间内u的标准差,对应n-1的那种
t1(!i)=(avr-0)/(stdev/@sqr(!n))//sqr求平方根,构造观察值t,此处用的是样本数!n
t2(!i)=(avr-0.2)/(stdev/@sqr(!n))//同上理
if t1(!i)>left and t1(!i)<right then
count1=count1+1
endif//程序控制,结束标志
if t2(!i)>left and t2(!i)<right then
count2=count2+1
endif
next
smpl 1 10000//取样
scalar effect1=count1/10000 //原假设H_0:μ=0是正确时,接受原假设的概率(蒙特卡洛,用频率替代)
scalar effect2=count2/10000 //原假设H_0:μ=0.2是错误,接受原假设的概率
scalar b=1- effect2//b
t1.hist//绘制序列t1的直方图
t2.hist
graph s1.distplot(s) t1 t2//graph命令创建图形,distplot,distribution plot,经验分布函数,对t1,t2
s1.axis(botttom) range(-12, 8)//以底部为轴
运行结果
双击S1
回到题干上的问题
- 求出接受原假设𝐻0:μ=0.2的概率(接受错误假设的概率)。
犯二类错误的概率,对本题来说就是,H0是错的却被接受即effect2为0.189300
- 拒绝原假设的概率是多少?(检验有效性)
对本题来说就是,H0是错的(根据u的生成原理),即要求的是即b=1-effect2=0.810700
而对于原假设均值为0来说,原假设是正确的,但拒绝了的概率,即犯一类错误的概率为1-effect1=0.047500
2.作业:第二类错误概率模拟实验
𝑌𝑡=1+2𝑋𝑡+𝑢𝑡,X取(0,10)间均匀分布的变量,扰动项𝑢𝑡服从标准正态分布 若提出原假设𝐻0:𝛽1=2.1,备择假设:𝐻1:𝛽1≠2.1。给定显著水平α=0.05。
通过模拟程序生成样本容量为2000的𝑋𝑖、𝑢𝑖和𝑌𝑖数据。进行10000次循环,求出犯第二类错误的概率。
老师给的答案
workfile liuyin u 1 10000
scalar count1=0
!n=100
smpl 1 !n
scalar edge=@qtdist(0.975,!n-2)
for !i=1 to 100
series x=@runif(0,10)
series u=@rnorm
series y=1+2*x+u
equation eq01.ls y c x
scalar std1=eq01.@stderrs(2)
scalar left=eq01.@coefs(2)-edge*std1
scalar right=eq01.@coefs(2)+edge*std1
if 2.1>left and 2.1<right then
count1=count1+1
endif
next
scalar incorrect=count1/100