Разница между prop.table () и dnorm () - PullRequest
0 голосов
/ 13 апреля 2020

Может ли кто-нибудь объяснить, почему следующие два графика дают разные результаты:

  1. prop.table (table (S)) [где 'S' - переменная Random ... представляющая рулетку В данном случае исходы колеса]
  2. dnorm ( [список значений в диапазоне S] , среднее (S), sd (S))

Вот мой фрагмент кода:

Частотный график случайной величины (S)

plot(prop.table(table(S)), xlab = "Net Profit", ylab = "Probability", type = "h")

base <- seq(min(S),max(S),length = B)
pdf = data.frame(profit = base, probability = dnorm(base,avg,sd))

lines(pdf)

Я не могу загрузить фотографии своего графика из-за неадекватной репутации. Однако, ' линейный сюжетный пик - это примерно половина сюжета «prop.table (table (S))»

Холодно ли вы понимаете мое понимание?

prop.table (Таблица (S) )) дает нам вероятность появления значения (как определяется частотой появления значения)

dnorm ( значение , среднее значение, стандартное отклонение) дает нам вероятность того, что значение произойдет (согласно нормальному распределению)

, если оба являются вероятностью одного и того же, разве пики не должны перекрываться, так как в видео

Заранее спасибо: D

Обновление: Вот точный код, который я использую:


set.seed(1)
plays <- 1000
B <- 10000

#Monte Carlo Sim for Roulette Wheel

S <- replicate(B,{  # S because Random Variable
  sum(sample(c(-1,1), plays, replace = TRUE, prob = c(18/38,20/38)))
  # -1 -> Casino loose bet ; 1 -> Casino win bet
})

avg = mean(S); sd = sd(S)

# Frequency Plot of Random Variable of R. Wheel outcome
plot(prop.table(table(S)), xlab = "Net Profit", ylab = "Probability", type = "h")

base <- seq(min(S),max(S),length = B)
pdf = data.frame(profit = base, probability = dnorm(base,avg,sd))

lines(pdf)

1 Ответ

1 голос
/ 14 апреля 2020

Плотность вероятности не является вероятностью. Это вероятность на единицу чего-либо.

Ваша выборка, S, будет делиться только на 2, так как результат будет либо -1, либо 1. Когда вы сделаете таблицу, вы заметите это. Затем prop.table возвращает долю или вероятности этих значений (-2, 0, 2, 4, 6, ...). Это дискретные значения, а не непрерывные.

dnorm возвращает плотность для данного нормального распределения. Поэтому, если вы хотите использовать dnorm для эмуляции вероятности, вам нужно умножить ее на на единицу . В данном случае 2 - ширина столбцов гистограммы.

pdf2 = data.frame(profit = base, probability = dnorm(base,avg,sd) * 2)
lines(pdf2, col="blue", lwd=2)

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...