相关疑难解决方法(0)

带有分类变量的R biglm

我使用一些big.___()软件包在R中使用大型数据集.这是~10演出(100mmR x 15C),看起来像这样:

Price         Var1         Var2
12.45          1             1
33.67          1             2
25.99          3             3
14.89          2             2
23.99          1             1
...            ...          ...
Run Code Online (Sandbox Code Playgroud)

我试图根据Var1和Var2预测价格.

我提出的问题是Var1和Var2是分类/因子变量.
Var1和Var2各有3个级别(1,2和3),但数据集中只有6个组合

(1,1;  1,2;  1,3;  2,2;  2,3;  3,3)
Run Code Online (Sandbox Code Playgroud)

要使用因子变量,biglm()它们必须存在于每个biglm使用的数据块中(我的理解是biglm将数据集分解为"x"个块,并在分析每个块后更新回归参数,以便绕过处理数据集比RAM大.)

我试图对数据进行分组,但我的计算机无法处理它或我的代码错误:

bm11 <- big.matrix(150000000, 3)
bm11 <- subset(x, x[,2] == 1 & x[,3] == 1)
Run Code Online (Sandbox Code Playgroud)

上面给了我一堆这些:

Error: cannot allocate vector of size 1.1 Gb
Run Code Online (Sandbox Code Playgroud)

有没有人有解决这个问题的建议?

我在Windows 7机器上使用R 64位w/4演出RAM.

r

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

模型以glm运行但不是bigglm

我试图对320,000行数据(6个变量)进行逻辑回归.对数据样本(10000)的逐步模型选择给出了具有5个交互项的相当复杂的模型:Y~X1+ X2*X3+ X2*X4+ X2*X5+ X3*X6+ X4*X5.该glm()函数可以使该行模型具有10000行数据,但不适用于整个数据集(320,000).

使用bigglm由块从SQL Server导致错误读取数据块,而我不能让从结果的意义traceback():

fit <- bigglm(Y~X1+ X2*X3+ X2*X4+ X2*X5+ X3*X6+ X4*X5, 
       data=sqlQuery(myconn,train_dat),family=binomial(link="logit"), 
       chunksize=1000, maxit=10)

Error in coef.bigqr(object$qr) : 
NA/NaN/Inf in foreign function call (arg 3)

> traceback()
11: .Fortran("regcf", as.integer(p), as.integer(p * p/2), bigQR$D, 
    bigQR$rbar, bigQR$thetab, bigQR$tol, beta = numeric(p), nreq = as.integer(nvar), 
    ier = integer(1), DUP = FALSE)
10: coef.bigqr(object$qr)
9: coef(object$qr)
8: coef.biglm(iwlm)
7: coef(iwlm)
6: bigglm.function(formula = formula, data = datafun, ...)
5: bigglm(formula …
Run Code Online (Sandbox Code Playgroud)

r glm logistic-regression

6
推荐指数
1
解决办法
2589
查看次数

标签 统计

r ×2

glm ×1

logistic-regression ×1