标签: predict

在 AER 包中的 tobit() 之后运行 Predict()

我正在对数据集进行 tobit 分析,其中因变量(我们称之为 y)被截尾为 0。所以这就是我所做的:

library(AER) 
fit <- tobit(data=mydata,formula=y ~ a + b + c)
Run Code Online (Sandbox Code Playgroud)

这可以。现在我想运行“预测”函数来获取拟合值。理想情况下,我对未观察到的潜在变量“y*”和观察到的删失变量“y”的预测值感兴趣[参见参考文献1]。

我检查了 Predict.survreg [参考文献 2] 的文档,我认为我不明白哪个选项为我提供了预测的删失变量(或潜在变量)。

我在网上找到的大多数例子都给出了以下建议:

predict(fit,type="response").
Run Code Online (Sandbox Code Playgroud)

同样,尚不清楚这些是什么类型的预测。

我的猜测是,预测函数中的“type”选项是这里的关键,其中 type="response" 意味着审查变量预测, type="linear" 意味着潜在变量预测。

这里有一些经验的人可以为我提供一些启发吗?

非常感谢!

参考:

  1. http://en.wikipedia.org/wiki/Tobit_model

  2. http://astrostatistics.psu.edu/datasets/2006tutorial/html/survival/html/predict.survreg.html

r predict

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

R预测函数:为什么它返回零长度预测?

更新:我正在使用e1071包for naiveBayes

我是R的新手并试图围绕玩具数据建立Naive Bayes模型.然后我试着在那个模型上叫"predcit".我看到的问题是:"predict()"的结果长度为零.请参阅简单的R repro代码.感谢您的投入!

 df<-NULL

 df <- rbind(df, c(0,3))

 df <- rbind(df, c(1,1))

 df <- rbind(df, c(1,3))

 model <- naiveBayes(df[,2], df[,1])

 prediction <- predict(model, df[,-1])

 length(prediction)

 ## [1] 0
Run Code Online (Sandbox Code Playgroud)

r zero predict

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

使用rpart包的R中的ROC曲线?

我分割Train数据集和Test数据集.

rpart在R(仅列车组)中使用了CART(分类树)包.我想使用该ROCR软件包进行ROC分析.

变量是`n.使用'(响应变量... 1 =是,0 =否):

> Pred2 = prediction(Pred.cart, Test$n.use)
Error in prediction(Pred.cart, Test$n.use) : 
  **Format of predictions is invalid.**
Run Code Online (Sandbox Code Playgroud)

这是我的代码.有什么问题?什么是对的type("class"或者"prob"

library(rpart)
train.cart = rpart(n.use~., data=Train, method="class")

Pred.cart = predict(train.cart, newdata = Test, type = "class")

Pred2 = prediction(Pred.cart, Test$n.use)
roc.cart = performance(Pred2, "tpr", "fpr")
Run Code Online (Sandbox Code Playgroud)

r classification predict roc

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

动态预测data.table方式?

我需要使用创建动态预测

v(t) = b0 + b1*v(t-1) + b2*v(t-2) + b3*x(t-1) + b4*x(t-2)
Run Code Online (Sandbox Code Playgroud)

数据集在时间0处看起来像这样.在实际数据中,有80个不同的x和100K"日期".

date           v   vLag1   vLag2   x    xLag1   xLag2   b1    b2   b3    b4 
2016-06-30    NA   105     95      33   11      23      0.2   3.2  -1.2  0.4
2016-07-01    NA   NA      NA      43   33      11      0.2   3.2  -1.2  0.4
2016-07-02    NA   NA      NA      52   43      33      0.2   3.2  -1.2  0.4
Run Code Online (Sandbox Code Playgroud)

目标是预测v,用值替换所有NA.我创建了vLag1,vLag2,xLag1,xLag2,这样我就可以 在一行中计算v.

所有的xb都是提前知道的,所以我创建了上面显示的滞后x.该b的是系数.

对于每个日期,V(t)的被预测,并且该预测V(t)的的将反馈到下一个日期的v …

r shift predict forecasting data.table

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

R:预测组的新值

我为数据框中的每个组计算了不同的回归:

DF.L <- DF %>%
group_by(Channel) %>%
do(Fit = rlm(L ~ -1 + Y + I(Y^2), data = .))
Run Code Online (Sandbox Code Playgroud)

我想将这套回归应用于另一个数据框。为此,我正在测试如何将其应用于相同的数据框:

DF %>%
group_by(Channel) %>%
do({
    Lfit <- predict(subset(DF.L, Channel == unique(.$Channel))$Fit, .)
    data.frame(., Lfit)
})
glimpse(DF)
Run Code Online (Sandbox Code Playgroud)

但我不断收到此错误:

Error in UseMethod("predict") : 
  no applicable method for 'predict' applied to an object of class "list"
Calls: %>% ... do_.grouped_df -> eval -> eval -> predict -> predict
Run Code Online (Sandbox Code Playgroud)

我做错了什么?

r predict tidyverse

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

如何从 caret::predict() 获得类概率和预测?

除了预测类标签之外,在预测时是否可以返回新数据中每个观察的期望?

library(caret)
knnFit <- train(Species ~ ., data = iris, method = "knn", 
                trControl = trainControl(method = "cv", classProbs = TRUE))

x <- predict(knnFit, newdata = iris)
Run Code Online (Sandbox Code Playgroud)

返回预测类别的向量。

str(x)
Factor w/ 3 levels "setosa","versicolor",..: 1 1 1 1 1 1 1 1 1 1 ...
Run Code Online (Sandbox Code Playgroud)

如果我想要概率:

x <- predict(knnFit, newdata = iris, type = "prob")
> head(x)
  setosa versicolor virginica
1      1          0         0
2      1          0         0
3      1          0         0
4      1          0         0
5      1          0         0 …
Run Code Online (Sandbox Code Playgroud)

r predict r-caret

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

手动计算 AUC

如何获得具有 fpr 和 tpr 的 AUC 值?Fpr 和 tpr 只是从这些公式中获得的 2 个浮点数:

my_fpr = fp / (fp + tn)
my_tpr = tp / (tp + fn)
my_roc_auc = auc(my_fpr, my_tpr)
Run Code Online (Sandbox Code Playgroud)

我知道这是不可能的,因为 fpr 和 tpr 只是一些浮点数,它们需要是数组,但我不知道如何做到这一点。我也知道我可以这样计算 AUC:

y_predict_proba = model.predict_proba(X_test)
probabilities = np.array(y_predict_proba)[:, 1]
fpr, tpr, _ = roc_curve(y_test, probabilities)
roc_auc = auc(fpr, tpr)
Run Code Online (Sandbox Code Playgroud)

但出于某些原因,我想避免使用 predict_proba。所以我的问题是:我怎样才能获得 AUC fp, tp, fn, tn, fpr, tpr?换句话说,是否有可能在没有 的情况下获得 AUC roc_curve

python false-positive predict roc auc

3
推荐指数
2
解决办法
9773
查看次数

如何将预测函数与我的来自 mouse() 的汇总结果一起使用?

嗨,我刚刚开始使用 R 作为学校模块的一部分。我有一个包含缺失数据的数据集,并且我使用了 mouse() 来估算缺失的数据。我现在正在尝试将 predict 函数与我的合并结果一起使用。但是,我观察到以下错误:

UseMethod("predict") 中的错误:没有适用于应用于类“c('mipo','data.frame')”的对象的“预测”方法

我在下面包含了我的整个代码,如果你们都能帮助新手,我会非常感谢它。谢谢!

```{r}
library(magrittr)
library(dplyr)
train = read.csv("Train_Data.csv", na.strings=c("","NA"))
test = read.csv("Test_Data.csv", na.strings=c("","NA"))
cols <- c("naCardiac", "naFoodNutrition", "naGenitourinary", "naGastrointestinal", "naMusculoskeletal", "naNeurological", "naPeripheralVascular", "naPain", "naRespiratory", "naSkin")
train %<>%
       mutate_each_(funs(factor(.)),cols)
test %<>%
       mutate_each_(funs(factor(.)),cols)
str(train)
str(test)
```

```{r}
library(mice)
md.pattern(train)
```

```{r}
miTrain = mice(train, m = 5, maxit = 50, meth = "pmm")
```

```{r}
model = with(miTrain, lm(LOS ~ Age + Gender + Race + Temperature + RespirationRate + HeartRate + SystolicBP + …
Run Code Online (Sandbox Code Playgroud)

r predict r-mice

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

如何在R中预测具有随机效应的gam模型?

我正在研究gam具有随机效应的预测模型,以通过plot_ly.

这是我的代码;

x <- runif(100)
y <- runif(100)
z <- x^2 + y + rnorm(100)
r <- rep(1,times=100) # random effect
r[51:100] <- 2 # replace 1 into 2, making two groups
df <- data.frame(x, y, z, r)

gam_fit <- gam(z ~ s(x) + s(y) + s(r,bs="re"), data = df) # fit

#create matrix data for `add_surface` function in `plot_ly`
newx <- seq(0, 1, len=20)
newy <- seq(0, 1, len=30)
newxy <- expand.grid(x = newx, y …
Run Code Online (Sandbox Code Playgroud)

r predict gam random-effects plotly

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

glmnet maxit=1000 次迭代后未达到第 n 个 lambda 值的收敛性;返回的较大 lambda 的解决方案

我正在使用 glmnet-package 中的 LASSO 来创建预测。此外,我使用 cv.glmnet-function 进行 5 倍交叉验证来创建 Lasso.fit。然后,根据经验法则 s = "lambda.1se",该 glmnet-object 将在预测函数中使用。

x <- scale(x)
x_test <- scale(x_test)

lasso.fit <- cv.glmnet(x,y, nfolds = 5, alpha=1, 
                  intercept =TRUE, standardize =TRUE, type.measure="mae")
lasso_pred <- predict(lasso.fit, x_test, s ="lambda.1se")          
Run Code Online (Sandbox Code Playgroud)

但是,运行此模型时我收到以下警告:

Warning: 
from glmnet Fortran code (error code -79); 
Convergence for 79th lambda value not reached after maxit=100000 iterations; 
solutions for larger lambdas returned
Run Code Online (Sandbox Code Playgroud)

这个警告是什么意思?

此外,我应该认真对待这个警告,即更改 cv.glmnet-function 的某些内容吗?

或者在使用惩罚方法创建预测时我不应该担心这一点?

r prediction predict glmnet

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