小编S. *_*ica的帖子

auto.arima()等效于python

我试图使用ARMA ARIMA模型预测每周销售额.我找不到调整顺序(p,d,q)的函数statsmodels.目前R具有forecast::auto.arima()调整(p,d,q)参数的功能.

如何为我的模型选择正确的订单?为此目的,python中是否有可用的库?

python r time-series forecasting statsmodels

62
推荐指数
2
解决办法
5万
查看次数

Octave没有阴谋

当我尝试在GNU Octave上绘制图形并尝试使用plot时,它给出了以下输出

set terminal aqua enhanced title "Figure 1" size 560 420  font "*,6" dashlength 1
                  ^
     line 0: unknown or ambiguous terminal type; type just 'set terminal' for a list
Run Code Online (Sandbox Code Playgroud)

我使用的是Mac OS X 10.9.2.我试过用

octave:79> setenv("GNUTERM","X11")
Run Code Online (Sandbox Code Playgroud)

但我仍然得到同样的错误.

plot octave

56
推荐指数
3
解决办法
3万
查看次数

predict.lm()在测试数据中具有未知因子级别

我正在拟合一个模型来分析数据和预测.如果newdatapredict.lm()包含单个因子水平来说是未知的模型,所有predict.lm()失败,并返回一个错误.

是否有一种很好的方法可以predict.lm()返回模型知道的那些因子水平的预测值和未知因子水平的NA,而不仅仅是错误?

示例代码:

foo <- data.frame(response=rnorm(3),predictor=as.factor(c("A","B","C")))
model <- lm(response~predictor,foo)
foo.new <- data.frame(predictor=as.factor(c("A","B","C","D")))
predict(model,newdata=foo.new)
Run Code Online (Sandbox Code Playgroud)

我希望最后一个命令返回对应于因子级别"A","B"和"C"的三个"真实"预测,并且NA对应于未知级别"D".

regression r linear-regression lm

33
推荐指数
3
解决办法
3万
查看次数

计算事先不知道长度的矢量 - 我应该"增长"吗?

我需要计算一个长度我事先不知道的向量条目.如何有效地做到这一点?

一个简单的解决方案是"增长"它:从一个小的或空的向量开始,并连续添加新的条目,直到达到停止标准.例如:

foo <- numeric(0)
while ( sum(foo) < 100 ) foo <- c(foo,runif(1))
length(foo)
# 195
Run Code Online (Sandbox Code Playgroud)

然而,出于性能原因,R中的"增长"载体是不受欢迎的.

当然,我可以"以块的形式增长":预先分配一个"大小合适"的矢量,填充它,当它满时加倍它的长度,最后将其缩小到大小.但这感觉容易出错,并且会产生不优雅的代码.

有没有更好或规范的方法来做到这一点?(在我的实际应用中,当然,计算和停止标准有点复杂.)


回复一些有用的评论

即使您事先不知道长度,您是否知道它理论上可能具有的最大长度?在这种情况下,我倾向于使用该长度初始化向量,并且在循环切割NA之后或基于最新的索引值移除未使用的条目.

不,事先不知道最大长度.

随着向量的增长,你需要保留所有的值吗?

是的,我愿意.

那么rand_num <- runif(300); rand_num[cumsum(rand_num) < 100]你选择一个足够大的向量,你知道条件满足的概率很高吗?你当然可以检查一下,如果不符合则使用更大的数字.我已经测试过,直到runif(10000)它仍然比"增长"更快.

我的实际用例涉及动态计算,我不能简单地向量化(否则我不会问).

具体来说,为了近似负二项式随机变量的卷积,我需要计算2007年Furman中定理2中整数随机变量$ K $的概率质量,直到高累积概率.这些质量$ pr_k $涉及一些错综复杂的递归总和.

performance allocation r vector

11
推荐指数
1
解决办法
219
查看次数

如何快速找出两个(大)因子是否相互重复?

我有两个因素向量,并怀疑他们携带相同的信息直到重新标记.我怎样才能知道这是否正确?

我的问题是两个向量都很长(200,000个条目),有很多级别(4,000).有些级别是非常频繁的,但有一个"长尾"的级别只发生一次.

这是一个可重现的例子(对不起,我找不到一种方法来使它紧凑并仍然显示我的数据的属性):

foo <- structure(c(3213L, 428L, 104L, 59L, 23L, 17L, 15L, 9L, 5L, 6L, 
1L, 5L, 3L, 1L, 2L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L), .Dim = 69L, .Dimnames = structure(list( …
Run Code Online (Sandbox Code Playgroud)

r r-factor

9
推荐指数
1
解决办法
106
查看次数

R中分位数的定义

主要问题:假设您有一个离散的有限数据集$ d $.然后命令摘要(d)返回Min,1st quartile,Median,mean,3rd quartile和max.我的问题是:R使用什么公式来计算第一个四分位数?

背景:我的数据集是:d=c(1,2,3,3,4,9).summary(d)返回2.25第一个四分位数.现在,计算第一个四分位数的一种方法是选择值q1,使得25%的数据集小于等于q1.显然,这不是R正在使用的.所以,我想知道,R使用什么公式来计算第一个四分位数?

谷歌搜索这个话题甚至更加困惑,我找不到R使用的公式.输入help(summary)R对我也没有帮助.

r quantile

8
推荐指数
1
解决办法
1448
查看次数

将整数转换为base36

strtoi(x,base=36) 将base36编码的字符串转换为整数:

strtoi("zzzz",base=36)
[1] 1679615
Run Code Online (Sandbox Code Playgroud)

有没有一个函数反转这个操作,即,给定一个正整数产生base36等价?基本上,我正在寻找一个itostr()这样的功能

itostr(1679615,base=36)
[1] "zzzz"
Run Code Online (Sandbox Code Playgroud)

(除了36之外我不需要任何基础,但是base参数会很好.)

r base36

8
推荐指数
2
解决办法
1034
查看次数

set.seed与R 2.15.2

我的理解是使用set.seed确保了可重复性,但是下面的R代码不是这种情况R 2.15.2.我在这里错过了什么吗?

set.seed(12345)
rnorm(5)
[1]  0.5855288  0.7094660 -0.1093033 -0.4534972  0.6058875
 rnorm(5)
[1] -1.8179560  0.6300986 -0.2761841 -0.2841597 -0.9193220
Run Code Online (Sandbox Code Playgroud)

random statistics r

7
推荐指数
2
解决办法
1万
查看次数

R使用值列表作为色标

我想将变量的值表示为R中散点中的点的颜色.

x <- rnorm(100) + 5
y <- rnorm(100) + 5
plot(x, y)
Run Code Online (Sandbox Code Playgroud)

在这里,我想使用变量作为着色的输入.但是,如果我尝试

plot(x, y, col = x)
Run Code Online (Sandbox Code Playgroud)

我很奇怪,可能很明显.现在我可以得到我想要的东西:

x_norm = (x - min(x)) / (max(x) - min(x))
col_fun <- colorRamp(c("blue", "red"))
rgb_cols <- col_fun(x_norm)
cols <- rgb(rgb_cols, maxColorValue = 256)
plot(x, y, col = cols)
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

但这看起来有点复杂,并且要使用NA或NaN值,例如将它们设为黑色作为颜色,就不那么容易了.为了我.有一种简单的方法可以做到这一点,我忽略了吗?

plot r colors scale

5
推荐指数
1
解决办法
1万
查看次数

预测与自动华宇,长期趋势线,30天预测"跳跃"

我正在尝试使用auto.arimaforecast软件包创建30天的预测.我想捕捉长期趋势,所以我将其插入到xreg参数中.

数据:

dput(data)
structure(list(TKDate = structure(c(15706, 15707, 15708, 15709, 
15710, 15711, 15712, 15713, 15714, 15715, 15716, 15717, 15718, 
15719, 15720, 15721, 15722, 15723, 15724, 15725, 15726, 15727, 
15728, 15729, 15730, 15731, 15732, 15733, 15734, 15735, 15736, 
15737, 15738, 15739, 15740, 15741, 15742, 15743, 15744, 15745, 
15746, 15747, 15748, 15749, 15750, 15751, 15752, 15753, 15754, 
15755, 15756, 15757, 15758, 15759, 15760, 15761, 15762, 15763, 
15764, 15765, 15766, 15767, 15768, 15769, 15770, 15771, 15772, 
15773, 15774, …
Run Code Online (Sandbox Code Playgroud)

r time-series forecasting

5
推荐指数
1
解决办法
2169
查看次数

outline = FALSE用什么方法来确定异常值?

在R中,我使用outline = FALSE参数在绘制特定集合的框和晶须时排除异常值.它的工作非常出色,但让我想知道它究竟是如何确定哪些元素是异常值的.

boxplot(x, horizontal = TRUE, axes = FALSE, outline = FALSE)
Run Code Online (Sandbox Code Playgroud)

r outliers boxplot

4
推荐指数
1
解决办法
1445
查看次数

使用Std Dev x和固定产品生成随机数

我想生成一系列的回报x,使得回报的标准差为0.03,产品为1 + x = 1.总而言之,回报有两个条件:

1) sd(x) == 0.03

2) prod(1+x) == 1

这是可能的,如果是这样,我怎样才能在R中实现它?

谢谢.

random r

3
推荐指数
1
解决办法
108
查看次数

如何计算满足条件的连续数字的总和?

请考虑以下数据:

dataset <- c(0.5, 1.2, 1.5, 2.1, 2.0, 0.8, 1.4, 0, 2.4, 2.9, 2.9, 2.7, 1.4, -0.8, -0.4, -0.2)
Run Code Online (Sandbox Code Playgroud)

如何对大于1的连续条目求和?

1.2+1.5+2.1+2.0
1.4
2.4+2.9+2.9+2.7+1.4
Run Code Online (Sandbox Code Playgroud)

(这个问题在简历中已经关闭.)

r

2
推荐指数
1
解决办法
41
查看次数