小编Dan*_*mes的帖子

Numpy 随机选择不适用于二维列表

我运行了以下python代码:

import numpy as np
a_list = [[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 1, 2]]
np.random.choice(a_list, size=20, 
    replace=True)
Run Code Online (Sandbox Code Playgroud)

期待这样的结果:

[[7, 8, 9], [1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 1, 2], [1, 2, 3], [1, 2, 3], [10, 1, 2], [1, 2, 3], [7, 8, 9], [1, 2, 3], [1, 2, 3], [10, 1, 2], [4, 5, 6], [4, 5, 6], [10, 1, 2], [10, 1, 2], [7, 8, 9], [1, 2, 3], …
Run Code Online (Sandbox Code Playgroud)

python numpy list

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

如何在 R 中使用 Monte Carlo 进行 ARIMA 模拟函数

这是我想用 R 做的算法:

  1. ARIMA模型到arima.sim()函数模拟10个时间序列数据集
  2. 拆分成系列的子系列的可能2s3s4s5s6s7s8s,和9s
  3. 对于每个大小,对带有替换的块进行重新采样,对于新系列,并ARIMA通过auto.arima()函数从每个块大小的子系列中获得最佳模型。
  4. 获取每个子系列的每个块大小RMSE

下面的R函数完成了。

## Load packages and prepare multicore process
library(forecast)
library(future.apply)
plan(multisession)
library(parallel)
library(foreach)
library(doParallel)
n_cores <- detectCores()
cl <- makeCluster(n_cores)
registerDoParallel(cores = detectCores())
## simulate ARIMA(1,0, 0)
#n=10; phi <- 0.6; order <- c(1, 0, 0)
bootstrap1 <- function(n, phi){
  ts <- arima.sim(n, model = …
Run Code Online (Sandbox Code Playgroud)

r montecarlo arima

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

多进程而不是R中的for循环

我想跑for loop进去parallel process。我的代码结果for loop R很符合我的口味,但将其应用到非常huge data因此,执行的时间很慢。

library(forecast)
library(dplyr)
arima_order_results = data.frame()
seed_out2 <- c(1, 16, 170, 178, 411, 630, 661, 1242, 1625, 1901, 1926, 1927, 1928, 2170, 2779, 3687, 4139, 4583, 4825, 4828, 4829, 4827, 5103, 5211, 5509, 5561, 5569, 5679, 6344, 6490, 6943, 6944, 6945, 6946, 6948, 6950, 6951, 6952)
for (my_seed in seed_out2){
  set.seed(my_seed)
  ar1 <- arima.sim(n = 100, model=list(ar = 0.8, order = c(1, 0, 0)), sd = 1) …
Run Code Online (Sandbox Code Playgroud)

windows parallel-processing for-loop r arima

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

循环和引导脚本运行时间过长

我有以下R脚本需要超过24小时,但最后还是运行在Windows 1010-gigabyte ramcore M7。该脚本执行以下操作:

这是我想要做的 R

  • A. 我已经生成了一个 50 时间序列数据集。

  • B. 我将相同的时间序列数据集切成以下大小的块:2,3,...,48,49使我有 48 个不同的时间序列,这些时间序列是从上面的第 1 步形成的。

  • C.我划分的每个48-时间序列数据集成traintest套所以可以使用rmse功能在Metrics包以获得均方根误差(RMSE),用于形成在步骤2中的48子系列。

  • D. 然后根据它们的块大小将每个系列的 RMSE 制成表格

  • E. 我ARIMA为每个 48 个不同的时间序列数据集获得了最佳模型。

我的 R 脚本

# simulate arima(1,0,0)
library(forecast)
library(Metrics)

n=50
phi <- 0.5
set.seed(1)

wn <- rnorm(n, mean=0, sd=1)
ar1 <- sqrt((wn[1])^2/(1-phi^2))

for(i in 2:n){
  ar1[i] <- ar1[i - 1] * phi + wn[i]
}
ts …
Run Code Online (Sandbox Code Playgroud)

loops r

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

当我有多个函数来执行复合任务时,如何编写 R 包文档?

我有以下 R 函数,我想用它们来获取任何数值向量的总和、平方和和立方和:

功能更正

ss <- function(x){
  `%dopar%` <- foreach::`%dopar%`
  foreach::foreach(i = x, .combine = "+") %dopar% {i}
}
sss <- function(x){
  `%dopar%` <- foreach::`%dopar%`
  foreach::foreach(i = x, .combine = "+") %dopar% {i^2}
}

ssq <- function(x){
  `%dopar%` <- foreach::`%dopar%`
  foreach::foreach(i = x, .combine = "+") %dopar% {i^3}
}
Run Code Online (Sandbox Code Playgroud)

我想产生向量的总和,向量的平方和和相同向量的立方的总和。我希望它在我只运行一个函数时打印三个结果,并将包含在 R 包文档中。

我知道如何通过记录将R文件夹及其文件,并说明文件,而只用一个函数编写的R包只有一个任务,roxygen2devtools我做休息。

我想要

如果 x <- c(1, 2) 我想要这样的格式。

ss sss sss

3 5 9

只用包中的一个函数。

请说明您在输出中使用的向量。

r package-development r-package

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