使用二项分布执行统计分析

Perform statistical analysis using binomial distribution

我正在尝试使用二项分布来测试 "random" 模型是否只是随机响应 "virginica" 50% 的时间,"setosa" 25% 的时间和 "versicolor" 最后 25% 的时间来查看我的逻辑回归模型是否更准确,反之亦然。这可以做到吗?这是我的尝试...

library(datasets)
iris$dummy_virginica_iris <- 0
iris$dummy_virginica_iris[iris$Species == 'virginica'] <- 1
iris$dummy_virginica_iris

# Logistic regression model.
glm <- glm(dummy_virginica_iris ~ Petal.Width + Sepal.Width, 
        data = iris, 
        family = 'binomial') 
summary(glm)

# Classifer.
glm.pred <- predict(glm, type="response")
virginica <- ifelse(glm.pred > .5, TRUE, FALSE)
table(iris$Species, virginica)

# Table of predictions.
table(virginica, iris$dummy_virginica_iris)

# Binomial distribution??
rbinom(160, 1, 0.5)

您可以使用 sample 来执行此操作:

set.seed(1)

rando <- sample(c('virginica', 'setosa', 'versicolor'),  # vector of possible responses
                prob = c(1/2, 1/4, 1/4),  # probabilities of those responses
                size = length(virginica),  # number of responses desired
                replace = TRUE)  # specify sampling with replacement

table(rando, iris$dummy_virginica_iris)

rando         0  1
  setosa     27  8
  versicolor 21 18
  virginica  52 24

rando_virginica <- ifelse(rando == 'virginica', TRUE, FALSE)
table(rando_virginica, iris$dummy_virginica_iris)

rando_virginica  0  1
          FALSE 48 26
          TRUE  52 24