请问cOPULA在计量经济学里可以干什么?我有一个公司数据,里面有两个有相关的变量.我老板叫我做一个这两个变量的copula,然后从中间抽样,再作者两个变量的simulated的数据的plot.到底有什么意义呢?我的理解是就和bootstrap差不多,通过joint distribution来增大样本量,为以后的quantile 分析作准备.我们原来有200多家公司的数据. 另外请问有没有step-by-step教你如何在某个软件里面生成copula,然后再抽样的教程?我想在Stata里面做,但是力不从心,底子太薄了 不知道如何下手
- 楼主有Stata manual吗?里面有很多现成的例子.
另外这里有很好的再现教程
http://www.ats.ucla.edu/stat/stata/topics/logistic_regression.htm
我的Stata就是从这里起步的. - 最简单的那种.假设我有两个变量X,Y,想在Stata里面做一个Gaussian Normal Copula, 做出F(X,Y)=C(FX(x), FY(y),theta). 然后从中间抽样1000次.有人做过类似的东西吗?可以把Code贴上来看看吗?谢谢.
- 回楼上的,别的论坛有人指出来了。改成如下的即可.你指出的问题是对的.程序也条是通过了。回答True. Function本身是对的.
Sub test2()
Dim s As String
s = "cat"
Dim temp10 As Variant
temp10 = Array("cat", "dog", "bird")
Dim yesno As Boolean
yesno = IsInArray(s, temp10)
Debug.Print yesno
End Sub - 请问楼上有没有懂VBA的?我写了一个子方程模块,要比较一个字段和一个数组,如果字段在数组里面就返回True,否则返回False.
Function IsInArray(s, temp10) As Boolean
Dim i As Long
For i = LBound(temp10) To UBound(temp10)
If temp10(i) = s Then
IsInArray = True
Exit For
Else
IsInArray = False
End If
Next i
End Function
------------------------------
Sub test2()
Dim s As String
s = "cat"
Dim temp10(1 To 3) As String
temp10 = Array("cat", "dog", "bird") <==高亮在这里
Dim yesno As Boolean
yesno = IsInArray(s, temp10)
Debug.Print yesno
End Sub
然后用test2()去调试。结果说“cann't assign to array”,并且高亮显示“temp10”.不知道错在哪里?
能不能帮我看看不知道错在哪里? 本质上来说这个功能很直白的. 谢谢. - 谢谢楼上的。我现在在看VBA的书,打算自己编一个程序.
- 手头上有一批数据要处理,自己算了一下手动要336个小时的工作量而且就算自己一口气干完估计也差不多了.我向能不能找人来变个程序?下面简单描述一下任务.
数据并不复杂,两张Excel表。一个是200多家公司的名单,一个是这200多家公司的子公司的详细列表.在表一里面选择第一家公司,然后在表二里面从详细信息里找到相关的公司,然后生成一个新的变量,根据简单规则给这家公司变个代码,0,1,2三种情况而以,将0,1或2储存到这个新变量里面. 然后返回表一,选择下一家公司再到表二里面比对.
估计手动完成这200多家公司的比对需要24个小时(比较宽松的强度),问题是我有14年的数据,总时间就是336小时.
突然想了一下这么长的工作时间,不如干脆找人来编个程序算了.我想问问像我这样的任务,可以用数据库软件来编程吧?能在Excel里面实现吗?因为我手动匹配就是在Excel里面做的.VB可以吗?或者Foxpro,如果这个软件还有的话.再高级的数据库软件我也没有了.
实际情况比这个要略为复杂一点. 谢谢. - . spearman y c1
Number of obs = 3248
Spearman's rho = 0.0995
Test of Ho: y and c1 are independent
Prob > |t| = 0.0000
. tabulate y c1, chi2
| c1
y | 0 1 | Total
-----------+----------------------+----------
0 | 2,094 697 | 2,791
1 | 285 172 | 457
-----------+----------------------+----------
Total | 2,379 869 | 3,248
Pearson chi2(1) = 32.1362 Pr = 0.000
上面两个检验发现y和c1不是独立的,实际的联系是y取值为0的概率在c1=0,1的情况下更高一些. 而且chi2检验已经给出了transition matrix .
那么问题是要想知道当c1=1时y=1的条件概率的大小程度,是不是只能用离散变量回归来计算?比如probit? - 我有两个离散变量,分别表示某公司当期进入市场与否,和他的竞争对手上一年进入与否。即Y(某公司进入 at t)和C(他的竞争对手进入 at t-1). 我用简单的Probit模型发现P(Y=1)=alpha+beta*C的系数beta显著为正。请问一下还有什么方法可以检验Y,C取值=1的情况是否相互独立?或者说检验我进入和我的对手进入的决策是对立或者不独立的.
用相关系数吗?我用Excel作了一下只有0.1不到的相关度。
用Transition Matrix吗?但是没办法检验结果的显著性.
请问还有什么常见的统计方法。我使用Stata9和10. 谢谢. - 多谢楼上的指点.我不熟悉hierarchical model,能给几篇文章的名字吗?我这里应该可以找到.
我的朋友是用VAR做关于经济增长和innovation之间关系的. - 最近有人问我该如何平均posterior.他是做宏观经济的.他有个模型可以计算出14个国家的posterior,关于某个系数的.然后他想求得一个一般的posterior,有两个方法,一是简单算术平均,二是根据标准差来权重,即标准差越大的,权重越小.我觉得他的方法挺好的.但是他还不满意想找更好的方法.
所以我想请教一下,如果能够取得若干个posterior的话,有什么好的办法综合所有的posterior?我依稀记得有这方面的东西但是找不到关键词,从google里也搜不到什么.
谢谢. - 随便说说的啊,动用高性能计算吧.n台机器联网算他个一个月.
- http://www2.warwick.ac.uk/fac/soc/economics/staff/faculty/stewart/stata/redprobnote.pdf
就是上面这篇文章,第二页第二段,公式(4)上面的那段话,如何理解“y... normalization is required?”在后面的例子里并没有对因变量union做任何处理阿。难道normalization只是针对动态probit模型的建立而言的?
多谢各位。 - 这是在discrete choice model,比如probit中有人提到的要求.请问为什么?比如下面的例子
_i1指的是下标
y_i1 = F(z_i1*beta + α_i*theta + u_i1 > 0)
Since y is binary, a normalization is required. A convenient one is σ2(u的方差)=1.
如果y是0或1的话,怎么可能转化成正态分布呢?如果不转化可以吗?我看很多discrete choice model的实证研究都没有这样做啊。
谢谢! - Sensitivity of Prior is an important part of a Bayesian analysis project.Bayesian approach provides numorous possibilities to her admirers, but requesting a careful heart of them.
- Fine.Thanks for the help and I will try.
- 数据的list之前和结尾之后要留出至少一个空行,要不然程序读不了数据.
还有logit(p)<-alpha0+alpha1*x1[ i ]+alpha2*x2[ i ]+alpha12*x1[ i ]*x2[ i ]+b
最后的b是不是individual-specific effects?要不要写成b[ i ]?我觉得按你上面的代码程序无法分别alpha0和b. - 1、b服从标准正态分布,在程序中怎么增加语句
b~dnorm(0,1),不知道对不对.
2、在导入数据的时候说N变量有问题
数据间要加逗号。
r=c(10,23,23,26,17,5,53,55,32,46,10,8,10,8,23,0,3,22,15,32,3),
n=c(39,62,81,51,39,6,74,72,51,79,13,16,30,28,45,4,12,41,30,51,7),
x1=c(0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1),
这样.
3、赋初值的时候说模型中有的变量没有赋值
b要在initial里表达.
建议你找个例子仔细看看每个语法细节.我也是初学者,共同进步. - 谢谢hangover的解释。我对likelihood之类的概念掌握的不是很好。没办法写出likelihood,再根据likelihood写出WinBUGS程序.所以基本上是改写别人的代码,当然在概念上尽量搞懂为什么这样做.:(
我最近改写了Tony的代码,试着把多个自变量放进去,而且还是二维的数据.我用WinBUGS试过了可以运行.但是不知道代码对不对.如果你看得懂pp.307页的代码的话,能不能帮我看看我改写的代码是否符合orthogonal reparametrization的思想.下面的代码包含两个自变量(x和num),以及数据和inits.简单的解释一下,pz是指定每一时期的lam都是1/13的概率,而pw是指定每个自变量对lam赋值的时候都有1/2的概率.也许是比较stupid的方法?
我另外还将二维数据改写成了三维数据,但是很怀疑是否正确。所以如果下面的应用于二维数据的代码可以用的话,我情愿不去碰三维数据.
MODEL2.1 treating incidental parameter problem, two independent variables
model{
for( i in 1 : N ) {
for( j in 1 : T ) {
y[i, j] ~ dbern(mu[i, j])
mu[i, j] <- phi(alpha +beta * x[i, j] + beta.num * num[i, j] + beta.yr[j])}
alpha ~ dnorm(nu, 1)
nu <- lam[i, z, w]
z ~ dcat (pz[])
w ~ dcat (pw[])
lam[i, 1, 1] <- -beta * x[i, 1]
lam[i, 2, 1] <- -beta * x[i, 2]
lam[i, 3, 1] <- -beta * x[i, 3]
lam[i, 4, 1] <- -beta * x[i, 4]
lam[i, 5, 1] <- -beta * x[i, 5]
lam[i, 6, 1] <- -beta * x[i, 6]
lam[i, 7, 1] <- -beta * x[i, 7]
lam[i, 8, 1] <- -beta * x[i, 8]
lam[i, 9, 1] <- -beta * x[i, 9]
lam[i, 10, 1] <- -beta * x[i, 10]
lam[i, 11, 1] <- -beta * x[i, 11]
lam[i, 12, 1] <- -beta * x[i, 12]
lam[i, 13, 1] <- -beta * x[i, 13]
lam[i, 1, 2] <- -beta.num * num[i, 1]
lam[i, 2, 2] <- -beta.num * num[i, 2]
lam[i, 3, 2] <- -beta.num * num[i, 3]
lam[i, 4, 2] <- -beta.num * num[i, 4]
lam[i, 5, 2] <- -beta.num * num[i, 5]
lam[i, 6, 2] <- -beta.num * num[i, 6]
lam[i, 7, 2] <- -beta.num * num[i, 7]
lam[i, 8, 2] <- -beta.num * num[i, 8]
lam[i, 9, 2] <- -beta.num * num[i, 9]
lam[i, 10, 2] <- -beta.num * num[i, 10]
lam[i, 11, 2] <- -beta.num * num[i, 11]
lam[i, 12, 2] <- -beta.num * num[i, 12]
lam[i, 13, 2] <- -beta.num * num[i, 13]
}
for(j in 1:T){
beta.yr[j] ~ dnorm(0,0.001)
}
beta ~ dnorm(0, 0.001)
beta.num ~ dnorm(0, 0.001)
}
init for model 1 and 2 only
list(alpha=c(0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
beta = 0,
beta.num = 0,
beta.yr = c(NA,0,0,0,0,0,0,0,0,0,0,0,0),
)
Data 2 for Model 2 and model 2.1 only
list(
N=10,T=13,
pz=c(0.076923, 0.076923, 0.076923, 0.076923, 0.076923, 0.076923, 0.076923, 0.076923, 0.076923, 0.076923, 0.076923, 0.076923, 0.076923),
pw=c(0.5, 0.5),
y=structure(
.Data=c(
0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 1,
0, 0, 1, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0,
0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0),
.Dim=c(10,13)
),
x=structure(
.Data=c(
0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0,
0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0,
1, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0,
1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1,
1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0,
0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0,
0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0,
1, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0),
.Dim=c(10,13)
),
num=structure(
.Data=c(
0.6931, 0.6931, 0.6931, 0.6931, 0.6931, 0.6931, 0.6931, 0.6931, 0.6931, 1.0986, 1.0986, 1.0986, 1.0986,
1.6094, 1.6094, 1.6094, 1.6094, 1.6094, 1.6094, 1.6094, 1.7918, 1.7918, 1.7918, 1.7918, 1.7918, 1.7918,
2.3979, 2.4849, 2.5649, 2.5649, 2.5649, 2.5649, 2.5649, 2.6391, 2.6391, 2.6391, 2.6391, 2.6391, 2.6391,
2.6391, 2.6391, 2.6391, 2.6391, 2.7081, 2.7081, 2.7081, 2.7081, 2.7726, 2.7726, 2.9444, 2.9444, 2.9957,
2.7081, 2.7081, 2.7081, 2.7726, 2.8904, 2.9444, 3.0445, 3.0445, 3.1355, 3.1355, 3.1781, 3.1781, 3.1781,
2.1972, 2.1972, 2.3026, 2.3026, 2.3026, 2.3979, 2.3979, 2.3979, 2.3979, 2.3979, 2.3979, 2.3979, 2.3979,
1.7918, 1.7918, 1.7918, 1.7918, 1.7918, 1.7918, 1.7918, 2.0794, 2.1972, 2.3026, 2.3026, 2.3026, 2.3026,
0.0000, 0.0000, 0.0000, 0.6931, 0.6931, 0.6931, 0.6931, 0.6931, 0.6931, 0.6931, 0.6931, 0.6931, 0.6931,
1.9459, 1.9459, 2.0794, 2.0794, 2.0794, 2.0794, 2.0794, 2.0794, 2.0794, 2.0794, 2.1972, 2.1972, 2.1972,
2.3026, 2.3026, 2.3026, 2.4849, 2.4849, 2.5649, 2.8332, 2.8332, 2.8332, 2.9444, 3.0445, 3.0445, 3.0445),
.Dim=c(10, 13)
)
)
END - http://files-upload.com/173948/Lancaster2004_Panelprobit.doc.html
这里是Tony Lancaster的书的关于Panel Data Probit的章节,一共7页.做成pdf太大了,我就直接上word格式的.里面包括Probit模型,orthogonal reparameterization 和相关的代码.