Как использовать norm.ppf ()? - PullRequest
0 голосов
/ 16 марта 2020

Я не мог понять, как правильно использовать эту функцию, может кто-нибудь объяснить мне, пожалуйста?

Допустим, у меня есть:

  • среднее значение 172,7815
  • стандартное отклонение 4,1532
  • N = 50 (50 выборок)

Когда меня просят рассчитать (95%) предел погрешности, используя norm.ppf ( ) будет ли код выглядеть так?

norm.ppf(0.95, loc=172.78, scale=4.15)

или будет выглядеть так?

norm.ppf(0.95, loc=0, scale=1)

Поскольку я знаю, что он вычисляет площадь кривой справа от доверительного интервала (95%, 97,5% и др. c ... см. Изображение ниже), но когда у меня есть среднее значение и стандартное отклонение, я действительно запутываюсь в том, как использовать функцию.

enter image description here

1 Ответ

1 голос
/ 02 мая 2020

Метод norm.ppf() берет процент и возвращает множитель стандартного отклонения, для которого значение этого процента происходит.

Это эквивалентно «тесту с одним хвостом» на графике плотности.

Из scipy.stats.norm:

ppf (q, loc = 0, масштаб = 1) Функция точки процента (обратная к cdf - процентилям).

Стандартное нормальное распределение

Код:

norm.ppf(0.95, loc=0, scale=1)

Возвращает 95% -ный интервал значимости для теста с одним хвостом для стандартного нормального распределения (т.е. особый случай нормального распределения, где среднее значение равно 0, а стандартное отклонение равно 1).

Наш пример

Чтобы вычислить значение для предоставленного OP примера, в котором лежит наш 95% -ный интервал значимости (Для one- тест хвоста ) мы будем использовать:

norm.ppf(0.95, loc=172.7815, scale=4.1532)

Это вернет значение (которое функционирует как «множитель стандартного отклонения» ), где 95% точки данных будут содержаться, если наши данные будут нормальным распределением.

Чтобы получить точное число , мы берем вывод norm.ppf() и m в конечном итоге мы используем стандартное отклонение для рассматриваемого распределения.

Двусторонний критерий

Если нам нужно рассчитать критерий с двумя хвостами (т.е. Если значения больше ( и меньше нашего среднего значения), то нам нужно разделить значение (т.е. наше альфа-значение) , поскольку мы все еще используем метод вычисления для одного хвоста . Разделение пополам символизирует уровень значимости, присваиваемый обоим хвостам. Уровень значимости 95% имеет альфа 5%; разделение 5% альфа по обоим хвостам возвращает 2,5%. Взятие 2,5% из 100% возвращает 97,5% в качестве входных данных для уровня значимости.

Поэтому, если бы мы имели дело со значениями по обе стороны от нашего среднего значения, наш код должен был бы ввести 0,975, чтобы представить 95-процентный уровень значимости через два хвоста:

norm.ppf(0.975, loc=172.7815, scale=4.1532)

Граница ошибки

Граница ошибки - это уровень значимости, используемый при оценке параметра совокупности с выборочной статистикой c. Мы хотим сгенерировать наш 95% доверительный интервал , используя двусторонний вход до norm.ppf(), так как нас интересуют значения, которые больше и меньше нашего среднего значения:

ppf = norm.ppf(0.975, loc=172.7815, scale=4.1532)

Далее мы бы взяли ppf и умножили его на наше стандартное отклонение, чтобы получить значение интервала:

interval_value = std * ppf

Наконец, мы отметили бы доверительные интервалы, добавив и вычтя значение интервала из среднего значения:

lower_95 = mean - interval_value
upper_95 = mean + interval_value

Участок с вертикальной линией:

_ = plt.axvline(lower_95, color='r', linestyle=':')
_ = plt.axvline(upper_95, color='r', linestyle=':')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...