搜索
人大经济论坛 附件下载

附件下载

所在主题:
文件名:  物价分析.pdf
资料下载链接地址: https://bbs.pinggu.org/a-2596564.html
附件大小:
165.33 KB   举报本内容

物价分析

物价分析模块主要分为CPI指数分析预测与翘尾因素分析两个模块,具体实现内容及方式表现如下:

1. CPI指数分析预测

1.1. 数据浏览(数据源及格式)

l文件类型:txt

l指标:年月(YYYYMM)、同比CPI指数;

l指标类型:月度指标;

l默认起始年份/月份:2012/01(可设置)

年月

同比CPI指数

201201

图1:CPI指数分析预测--数据原格式

1.2. 建模与分析

1.2.1.工具及算法包

工具:R语言(64位)

算法包(64位):

ltseries

lforecast

1.2.2.代码诠释

library(tseries) #加载算法包tseries

library(forecast) #加载算法包forecast

YEAR <- 2012 #设置初始时间年份

Frequency<- 12 #设置数据类型(月度数据为12,季度数据为4)

p<-1

q<-1

d<-0

P<-2

Q<-0

D<-1

step<-4

data <-read.table('C:/Users/Administrator/Desktop/cpi.txt',head = T)

#读入数据源文件

Data<-ts(data$CPI, freq = Frequency, start = c(YEAR))

#acf(data) #查看自相关图

#pacf(data) #查看偏自相关图

model <-arima(Data,order=c(p,q,d),seasonal=list(order=c(P,Q,D),period= Frequency), include.mean= FALSE, method="ML")

#调用ARIMA模型

#其中参数:

# ① p、q、d、P、Q、D对应的是非季节性参数和季节性参数;

# ② include.mean表示是否带常数项,TRUE为带常数项(默认项,为非差分模型),FALSE为不带常数项。

pred <-forecast(model, h = step, level=c(95))

Fit<- data.frame(pred$fitted) #模型拟合值

Error<-data.frame(model$residuals) #导出残差

#tsdiag(model) #R中残差及相关检验图

Fittable<-cbind(data[,1],data$CPI,Fit,Error) #拟合表

names(Fittable)<-c('Time','CPI','CPIFitted','Residual')

#write.table(Fittable,'C:/Users/Administrator/Desktop/Fittable.txt')

#输出拟合残差结果表

Forecast<-data.frame(cbind(pred$mean,pred$upper,pred$lower))

#预测值、预测值95%上限、预测值95%下限

names(Forecast)<-c('forecast','upper','lower')

lastDt <- data[nrow(data),1]

if(nchar(lastDt)==6){

lastDt <-as.Date(paste(as.character(lastDt),'01'),format='%Y%m%d')

forecastDt<- seq(lastDt,length.out=step+1,by='1 month')

forecastDt<- format(forecastDt,'%Y%m')

monthkey <-as.numeric(forecastDt)

forecast<- data.frame(monthkey=monthkey[2:length(monthkey)],Forecast)

}

if (nchar(lastDt)==4){

lastDt<-as.numeric(lastDt)

forecastDt<- seq(lastDt,lastDt+step,by=1)

Year<- forecastDt

forecast<- data.frame(Year=Year[2:length(Year)],Forecast)

}

write.table(forecast,'C:/Users/Administrator/Desktop/forecast.txt')

#输出预测结果表

1.3. 结果与呈现

l预测结果表

l拟合残差表

l拟合预测结果图

2. 翘尾因素分析

2.1. 数据浏览

l文件类型:txt

l指标:年月、居民消费价格指数CPI环比值、居民消费价格指数CPI同比值

l指标类型:月度指标

时间

居民消费价格指数CPI环比

居民消费价格指数CPI同比

201201

1.5

4.55

图2:翘尾因素分析--数据原格式

2.2. 分析(计算)逻辑

data<-read.table('C:/Users/Administrator/Desktop/qiaowei.txt',head = T)

# 读入数据,Monthkey:年月;CPI_hb:环比CPI;CPI_tb:同比CPI

data$hb2<-data$CPI_hb+100

# 创建变量环比CPI百分数(环比CPI+100)

Data<-data[,c(1,3,4)]

# 创建子集Data(Monthkey,CPI_tb,hb2)

i=1

if(max(data$Monthkey)%%100==12)k=max(data$Monthkey)

k=(max(data$Monthkey)%/%100-1)*100+12

# 取月份为12的最大年份数据

Data<-Data[which(Data$Monthkey<=k),]

# 取子集月份为12的最大年份之前的数据

j=nrow(Data)

# 取数据集行数

rs<-0

for(i in 1:nrow(Data)){

if(i%%12 == 0) rs=0

else rs=Data[i+1,3]

i<-i+1

}

# 滞后一阶取数,12月份数据为0

qw<-0

for(j in nrow(Data):1){

if(data[j,1]%%100 ==12) qw[j]=0

else (

if(data[j,1]%%100 ==11) qw[j]=round(rs[j]-100,3)

else qw[j]=round(rs[j]*(qw[j+1]+100)/100-100,3))

j<-j-1

}

# 翘尾系数计算(上月滞后指数*上月翘尾系数)

Data2<-data[which(data$Monthkey>=data[1,1]+100),c("Monthkey","CPI_tb")]

# 将翘尾系数结果赋值为下一年同月翘尾系数

qw2<-qw[1:nrow(Data2)]

HP<-round(Data2$CPI_tb-qw2,2)

# 新涨价因素计算(本年同比指数-本月翘尾系数)

result<-cbind(Data2,qiaowei=qw2,xzjys=HP)

2.3. 分析结果

l翘尾计算结果表(年月,CPI_环比值,CPI同比值,翘尾系数,新涨价因素)

l图形呈现(按年月呈现翘尾系数与新涨价因素趋势变动)




    熟悉论坛请点击新手指南
下载说明
1、论坛支持迅雷和网际快车等p2p多线程软件下载,请在上面选择下载通道单击右健下载即可。
2、论坛会定期自动批量更新下载地址,所以请不要浪费时间盗链论坛资源,盗链地址会很快失效。
3、本站为非盈利性质的学术交流网站,鼓励和保护原创作品,拒绝未经版权人许可的上传行为。本站如接到版权人发出的合格侵权通知,将积极的采取必要措施;同时,本站也将在技术手段和能力范围内,履行版权保护的注意义务。
(如有侵权,欢迎举报)
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

GMT+8, 2026-2-7 23:42