楼主: 南冰
87315 299

急:R软件加载程序包tsDyn问题 [推广有奖]

  • 9关注
  • 57粉丝

教师

院士

97%

还不是VIP/贵宾

-

TA的文库  其他...

博士就业高校选择

计量精化

外文杂志(sci ssci)投稿指南

威望
1
论坛币
103441 个
通用积分
53.1916
学术水平
223 点
热心指数
307 点
信用等级
213 点
经验
17631 点
帖子
4766
精华
0
在线时间
4494 小时
注册时间
2009-1-4
最后登录
2024-4-18

初级热心勋章 初级信用勋章 中级热心勋章

相似文件 换一批

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
我从本地安装和在线安装都安装了一遍了tsdyn程序包,系统也给予以下提示:
程序包'iterators'打开成功,MD5和检查也通过
程序包'odesolve'打开成功,MD5和检查也通过
程序包'quadprog'打开成功,MD5和检查也通过
程序包'zoo'打开成功,MD5和检查也通过
程序包'snow'打开成功,MD5和检查也通过
程序包'mnormt'打开成功,MD5和检查也通过
程序包'foreach'打开成功,MD5和检查也通过
程序包'tseriesChaos'打开成功,MD5和检查也通过
程序包'tseries'打开成功,MD5和检查也通过
程序包'tsDyn'打开成功,MD5和检查也通过
下载的程序包在
        C:\Documents and Settings\Administrator\Local Settings\Temp\RtmpKBLUbm\downloaded_packages里
>
可是我在调用STAR这个函数时还是给我以下提示:
> x<-c(127.4,128.4,127.1,126.6,124.8,122.8,119.4,115.3,111.5,108.6,107.4,106.6,104.3,104.4,103.4,103.2,102.7,101.1,101.1,102.5,102.9,103.1,103.7,104.3,102.2,101,101.6,101.3,103.6);
> STAR(x = x, p1 = 1, p2 = 3, d = 8);
错误: 没有"STAR"这个函数
>

我是新手,刚学R,请R高手给予指导,感激不尽!
二维码

扫码加我 拉你入群

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

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

关键词:tsDyn r软件 程序包 downloaded documents 软件 程序包 加载 tsDyn

已有 3 人评分学术水平 热心指数 信用等级 收起 理由
统计学小牛人 + 1 + 1 + 1 鼓励积极发帖讨论
南哥哥 + 1 + 1 + 1 鼓励积极发帖讨论
esir + 1 + 1 + 1 有深度的讨论

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

本帖被以下文库推荐

一直怀有一个梦想,希望在不久的将来能读个博士,做做学术搞搞研究,饱尝学术的艰辛
沙发
epoh 发表于 2010-9-30 10:23:53 |只看作者 |坛友微信交流群
library(tsDyn)
x<-c(127.4,128.4,127.1,126.6,124.8,122.8,119.4,115.3,111.5,108.6,107.4,106.6,104.3,104.4,103.4,103.2,102.7,101.1,101.1,102.5,102.9,103.1,103.7,104.3,102.2,101,101.6,101.3,103.6);
star(x = x, p1 = 1, p2 = 3, d = 8);
Using default threshold variable: thDelay=0
Testing linearity...   p-Value =  0.08959895
The series is linear. Use linear model instead.
$x
Time Series:
Start = 1
End = 29
Frequency = 1
[1] 127.4 128.4 127.1 126.6 124.8 122.8 119.4 115.3 111.5 108.6 107.4 106.6 104.3 104.4 103.4
[16] 103.2 102.7 101.1 101.1 102.5 102.9 103.1 103.7 104.3 102.2 101.0 101.6 101.3 103.6

$m
[1] 2

$d
[1] 8

$steps
[1] 8

$series
[1] "x"

$xx
       V1/0 V1/-8
[1,] 111.5 127.4
[2,] 108.6 128.4
[3,] 107.4 127.1
[4,] 106.6 126.6
[5,] 104.3 124.8
[6,] 104.4 122.8
[7,] 103.4 119.4
[8,] 103.2 115.3
[9,] 102.7 111.5
[10,] 101.1 108.6
[11,] 101.1 107.4
[12,] 102.5 106.6
[13,] 102.9 104.3

$yy
[1] 102.7 101.1 101.1 102.5 102.9 103.1 103.7 104.3 102.2 101.0 101.6 101.3 103.6

$n.used
[1] 29

attr(,"class")
[1] "nlar.struct" "list"
已有 2 人评分论坛币 学术水平 热心指数 收起 理由
南冰 + 1 + 1 学术水平高,热心
ruiqwy + 40 + 1 根据规定进行奖励

总评分: 论坛币 + 40  学术水平 + 1  热心指数 + 2   查看全部评分

使用道具

藤椅
南冰 发表于 2010-9-30 21:19:36 |只看作者 |坛友微信交流群
请问下您有没有做ESTAR和LSTAR的R程序呢?有的话麻烦您发给我一份好吗?谢谢您了啊! 2# epoh
一直怀有一个梦想,希望在不久的将来能读个博士,做做学术搞搞研究,饱尝学术的艰辛

使用道具

板凳
epoh 发表于 2010-10-1 08:54:58 |只看作者 |坛友微信交流群
package "tsDyn"
本身就有function lstar
可估Logistic STAR model
匀挥刑峁?source code lstar.R

http://cran.r-project.org/web/packages/tsDyn/index.html
请下载Package source:  tsDyn_0.7-40.tar.gz  
解压后,就在tsDyn\R\lstar.R

lstar.R的 Logistic Transition Function
是用R的function plogis

Examples
#fit a LSTAR model. Note 'maxit': slow convergence
mod.lstar <- lstar(log10(lynx), m=2, mTh=c(0,1), control=list(maxit=3000))
mod.lstar

也可以用图形介面tsDynGUI
nlarDialog(log10(lynx))

使用道具

报纸
epoh 发表于 2010-10-1 10:35:22 |只看作者 |坛友微信交流群
楼主也可参考
modeling financial time series with s-plus
CHAP 18 Nonlinear Time Series Models
Nonlinear Time Series Models.pdf (612.84 KB)
18.4.1
对于Logistic and Exponential STAR Models
有更加详细的叙述.
S-PLUS function STAR 目前只有一种type="LSTAR"
若要用 ESTAR model,page 684有说明
先写出function ESTAR.res
再用nlregb估计模型参数
已有 1 人评分学术水平 热心指数 收起 理由
南冰 + 1 + 1 热心

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

使用道具

地板
南冰 发表于 2010-10-1 11:20:47 |只看作者 |坛友微信交流群
谢谢您了啊,我看到有人用RSTAR package做ESTAR模型,可是我为什么在R的官方网站上找不到这个package呢?谢谢了啊! 5# epoh
一直怀有一个梦想,希望在不久的将来能读个博士,做做学术搞搞研究,饱尝学术的艰辛

使用道具

7
epoh 发表于 2010-10-7 20:26:55 |只看作者 |坛友微信交流群
RSTAR package (Version 0.1-1)
搜不到,应该没发布.
利用R data lynx,在s-plus运行ESTAR MODEL
可得结果如下:
#################in s-plus
> lynx.estar$parameters

[1] -0.4641629
3.1881329

> exp(lynx.estar$parameters[1])/var(lynx.RHS[,2])

[1] 2.015791


这个结果跟在R运行estar.R的结果接近
estar.R是我修改的R code
#################in R
ESTAR
Coefficients:
Low regime:
   phi1.0    phi1.1    phi1.2
1.585903  1.588434 -1.132034

High regime:
    phi2.0     phi2.1     phi2.2
-1.0445247 -0.5018974  0.8767483

Smoothing parameter: gamma = 1.998
Threshold
Variable: Z(t) = + (1) X(t) + (0) X(t-1)

Value: 3.189
##########
#s-plus code
ESTAR.res = function(theta, g.scale, x, y, q)
{
k = ncol(x)
G = 1 - exp( - exp(theta[1])/g.scale * (q - theta[2])^2)
X = cbind(x * (1 - G), x * G)
m = crossprod(t(backsolve(chol(crossprod(X)), diag(2 * k))))
beta = m %*% t(X) %*% y
y - X %*% beta
}

source("lynx.R")
lynx.LHS = log10(lynx)[3:length(lynx)]
lynx.RHS = cbind(1, tslag(log10(lynx), 1:2, trim=T))

lynx.estar = nlregb(length(lynx)-2,
start=c(0,mean(lynx.RHS[,2])),
residuals=ESTAR.res,
lower=c(-Inf, min(lynx.RHS[,2])),
upper=c( Inf, max(lynx.RHS[,2])),
g.scale=var(lynx.RHS[,2]),
x=lynx.RHS, y=lynx.LHS, q=lynx.RHS[,2])

lynx.estar$parameters
exp(lynx.estar$parameters[1])/var(lynx.RHS[,2])


##############
#R code
#don't need library(tsDyn)
source("estar.R")
lynx.estar <- estar(log10(lynx), m=2,d=1, control=list(maxit=3000))
lynx.estar

estar.R
estar.rar (3.17 KB) 本附件包括:
  • estar.R


已有 1 人评分学术水平 热心指数 收起 理由
南冰 + 1 + 1 谢谢你了啊!

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

使用道具

8
南冰 发表于 2010-10-7 22:01:16 |只看作者 |坛友微信交流群
谢谢你了啊,我刚把教程详细的看了一遍,打算用S-PLUS来做,可是在论坛里找到的那个版本我下载了,但是老是解压不成功!
下面是地址http://www.pinggu.org/bbs/viewthread.php?tid=296390&extra=&highlight=Finmetrics&page=26
你那里有SPLUS吗?有的话可以发给我个下载地址吗?
一直怀有一个梦想,希望在不久的将来能读个博士,做做学术搞搞研究,饱尝学术的艰辛

使用道具

9
epoh 发表于 2010-10-7 22:11:42 |只看作者 |坛友微信交流群

使用道具

10
南冰 发表于 2010-10-8 01:17:35 |只看作者 |坛友微信交流群
谢谢你了啊,我刚安装好了S-PLUS,可是又碰到新问题了,是不是我没有调用函数包啊?
> x<-c(127.4,128.4,127.1,126.6,124.8,122.8,119.4,115.3,111.5,108.6,107.4,106.6,104.3,104.4,103.4,103.2,102.7,101.1,101.1,102.5,102.9,103.1,103.7,104.3,102.2,101,101.6,101.3,103.6);
> nonlinearTest(x, method="STAR-LM", p=2, d=1:2)
Problem: Couldn't find a function definition for "nonlinearTest"
Use traceback() to see the call stack
> traceback()
4: eval(action, sys.parent())
3: doErrorAction("Problem: Couldn't find a function definition for \"nonlinearTest\"", 1000)
2: eval(expression(nonlinearTest(x, method = "STAR-LM", p = 2, d = 1:2)))
1:
Message: Problem: Couldn't find a function definition for "nonlinearTest"
>

9# epoh
谢谢你了啊!
一直怀有一个梦想,希望在不久的将来能读个博士,做做学术搞搞研究,饱尝学术的艰辛

使用道具

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

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-23 15:19