楼主: ywh19860616
19222 58

抽样问题 [推广有奖]

31
epoh 发表于 2010-10-21 20:34:34
由package "plm"
找了个数据格式跟你类似
的data "Produc" US States Production
做个panel linear model比较.
A panel of 48 observations from 1970 to 1986
total number of observations : 816
observation : regional
country : United States
     state year     pcap     hwy   water
1  ALABAMA 1970 15032.67 7325.80 1655.68
2  ALABAMA 1971 15501.94 7525.94 1721.02
3  ALABAMA 1972 15972.41 7765.42 1764.75
4  ALABAMA 1973 16406.26 7907.66 1742.41
5  ALABAMA 1974 16762.67 8025.52 1734.85
6  ALABAMA 1975 17316.26 8158.23 1752.27
7  ALABAMA 1976 17732.86 8228.19 1799.74
8  ALABAMA 1977 18111.93 8365.67 1845.11
9  ALABAMA 1978 18479.74 8510.64 1960.51
10 ALABAMA 1979 18881.49 8640.61 2081.91
11 ALABAMA 1980 19012.34 8663.50 2138.52
12 ALABAMA 1981 19118.52 8628.83 2218.91
13 ALABAMA 1982 19118.25 8645.14 2215.84
14 ALABAMA 1983 19122.00 8612.47 2230.91
15 ALABAMA 1984 19257.47 8655.94 2235.16
16 ALABAMA 1985 19433.36 8726.24 2253.03
17 ALABAMA 1986 19723.37 8813.24 2308.99
18 ARIZONA 1970 10148.42 4556.81 1627.87
19 ARIZONA 1971 10560.54 4701.97 1627.34
20 ARIZONA 1972 10977.53 4847.84 1614.58
...............
####
library(plm)
data("Produc", package = "plm")
iwi<- plm(log(gsp) ~ log(pcap) + log(pc) + log(emp) + unemp,
     effect = "individual",model = "within",data = Produc, index = c("state","year"))
summary(iwi)
####
Oneway (individual) effect Within Model

Call:
plm(formula = log(gsp) ~ log(pcap) + log(pc) + log(emp) + unemp,
    data = Produc, effect = "individual", model = "within", index = c("state",
        "year"))

Balanced Panel: n=48, T=17, N=816
Residuals :
    Min.  1st Qu.   Median  3rd Qu.     Max.
-0.12000 -0.02370 -0.00204  0.01810  0.17500

Coefficients :
             Estimate  Std. Error t-value  Pr(>|t|)   
log(pcap) -0.02614965  0.02900158 -0.9017    0.3675   
log(pc)    0.29200693  0.02511967 11.6246 < 2.2e-16 ***
log(emp)   0.76815947  0.03009174 25.5273 < 2.2e-16 ***
unemp     -0.00529774  0.00098873 -5.3582 1.114e-07 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Total Sum of Squares:    18.941
Residual Sum of Squares: 1.1112
F-statistic: 3064.81 on 4 and 764 DF, p-value: < 2.22e-16
#####
#####

撷取transformed data做block bootstrap
xplm.txt
xplm.txt (60.06 KB)
yplm.txt
yplm.txt (15.89 KB)
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
ywh19860616 + 1 + 1 + 1 呵呵,谢谢,又让您帮我重新运行一次,非常感谢。我先学习下,有问题再问您

总评分: 学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

32
ywh19860616 发表于 2010-10-21 21:25:04
#epoh,谢谢您了
那个block_length=51 数值是怎么定的?保证能整除就可以吗
rdf应该取812吧,而不是764?

33
epoh 发表于 2010-10-21 22:10:40
n=48, T=17, N=816
effect='individual'
   rdf=814-n-4=764  # rdf=iwi$df.residual

effect='time'
   rdf=814-T-4=795
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
ywh19860616 + 1 + 1 + 1 epoh,是否一定要先转换数据做bootstrap吗?我想实现的不是一般面板,而

总评分: 学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

34
ywh19860616 发表于 2010-10-21 22:28:15
#epoh谢谢您了,rdf我想的太简单了,原来是错的,呵呵

35
epoh 发表于 2010-10-22 10:37:04
library(plm)
data("Produc", package = "plm")
iwi<- plm(log(gsp) ~ log(pcap) + log(pc) + log(emp) + unemp,
     effect = "individual",model = "within",data = Produc, index = c("state","year"))
summary(iwi)

plm 程序就是依据
你给的模型条件
effect = "individual"
model = "within"
......
经"原始数据"转换为要回归的数据
然后进行回归.

原始数据:
   log(gsp) log(pcap)   log(pc) log(emp) unemp
1   10.254778  9.617981 10.485530 6.918201   4.7
2   10.287899  9.648720 10.526746 6.929419   5.2
3   10.351469  9.678618 10.562827 6.977561   4.7
4   10.417209  9.705418 10.598733 7.034828   3.9
5   10.426706  9.726910 10.646788 7.064588   5.5
........
815  9.394494  8.603074 10.286262 5.332236   7.1
816  9.293762  8.648293 10.207677 5.279644   9.0

转换后的数据:
"X"  (save as "xplm.txt")
        log(pcap)       log(pc)      log(emp)        unemp
1   -0.1733793180 -0.3278166032 -0.2118450288 -3.347058824
2   -0.1426399734 -0.2866003835 -0.2006266470 -2.847058824
3   -0.1127422920 -0.2505194337 -0.1524844124 -3.347058824
4   -0.0859421814 -0.2146137956 -0.0952172041 -4.147058824
5   -0.0644507605 -0.1665580853 -0.0654574926 -2.547058824
..........
815  0.2403908559  0.3565542886  0.2142460296  2.229411765
816  0.2856106412  0.2779692166  0.1616545461  4.129411765


"y"  (save as "yplm.txt")
            1             2             3            816               
-0.2827512361 -0.2496300108 -0.1860600437 .......0.0587137678

进行回归
lm(y ~ X - 1)


plm_modify.R

plm_modify.rar (2.05 KB) 本附件包括:
  • plm_modify.R

已有 1 人评分学术水平 热心指数 信用等级 收起 理由
ywh19860616 + 1 + 1 + 1 epoh,好像还有问题哦 您现在使用的命令是plm回归的,其实我要实现的是面板

总评分: 学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

36
ywh19860616 发表于 2010-10-22 10:57:03
#epoh,您给我的plm_modify.rar 应该怎么调用,计算出转换后的数据:
"X" 和"y",没有看懂,呵呵。
还有,如果我也是使用面板数据,但是不是做一般的面板回归,也可以这样先转换吗?

37
epoh 发表于 2010-10-22 11:21:29
plm_modify.rar 应该怎么调用?
library(plm)
souece(plm_modify.R)
data("Produc", package = "plm")
iwi<- plm(log(gsp) ~ log(pcap) + log(pc) + log(emp) + unemp,
     effect = "individual",model = "within",data = Produc, index = c("state","year"))
summary(iwi)


面板数据分位数回归
请告诉我哪个package
请告诉我哪个function
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
ywh19860616 + 1 + 1 + 1 谢谢,已短消息回复,5楼也给出了

总评分: 学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

38
ywh19860616 发表于 2010-10-22 11:38:39
呵呵,没有想到用不是自带的命令,要先用命令调出
谢谢提醒,知道了

39
epoh 发表于 2010-10-22 17:03:14
可以套用你的panel function
下例由于要估63个系数
数度很慢,慢慢等.哈哈!
plm 是将数据转换后用lm()
你的panel function是依你给的
w=c(.25,.5,.25);taus=(1:3)/4;lambda = 1;
将数据转换后用rq.fit.sfn()
#########
library(plm)
library(quantreg)
source("rq.fit.panel.R")

data("Produc", package = "plm")  #816 x 10
#n=48, T=17, N=816
x1=log(Produc$pcap)
x2=log(Produc$pc)
x3=log(Produc$emp)
x4=Produc$unemp
x=cbind(1,x1,x2,x3,x4)
y=log(Produc$gsp)
s= rep(1:48,rep(17,48))
fit.panel <- rq.fit.panel(x,y,s)
fit.panel
#$coef
# [1]  3.118656397 -0.005988952  0.225901003  0.815564755 -0.004602142  3.119945875 -0.007845497
# [8]  0.235256382  0.805310837 -0.002951217  3.181808004 -0.029966225  0.244450823  0.816287376
#[15] -0.003222933 -0.778432651 -0.602754278 -0.708138295 -0.482017503 -0.578463715 -0.532159174
#[22] -0.571021450 -0.655726863 -0.728350315 -0.631343018 -0.590175281 -0.705272036 -0.642795950
#[29] -0.620498901 -0.574135828 -0.433881303 -0.725441321 -0.589238720 -0.641496878 -0.566439902
#[36] -0.671504192 -0.726567325 -0.666319798 -0.586663167 -0.653408627 -0.616725309 -0.695914886
#[43] -0.548287848 -0.491432708 -0.520697881 -0.745379402 -0.593921249 -0.660324993 -0.542739118
#[50] -0.626318833 -0.695713796 -0.631415934 -0.868032592 -0.665941523 -0.757551602 -0.542522330
#[57] -0.653282198 -0.658349987 -0.606419103 -0.531104645 -0.661890514 -0.659069504 -0.270763035
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
ywh19860616 + 1 + 1 + 1 呵呵,epoh,这个和6楼您给的程序是一样的。没有35楼的效果好,因为35楼先经

总评分: 学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

40
ywh19860616 发表于 2010-10-22 17:50:47
#epoh,非常感谢
您上面程序好像没有经过数据转换吧?

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-25 21:34