Во что вырождается функция плотности вероятности для дискретных случайных величин
Что проверяют
Понимаете ли вы разницу между дискретным и непрерывным распределением, а не только помните слово «плотность». Для Go-разработчика такой вопрос обычно всплывает рядом с метриками, A/B-тестами или моделированием нагрузки, и следом просят показать это на коде.
Как отвечать
Короткий ответ: плотность вырождается в функцию вероятности (ряд распределения, PMF), то есть в набор значений P(X = xᵢ) = pᵢ, где все pᵢ неотрицательны и в сумме дают 1. Сильный ответ добавляет формальную сторону:
- через дельта-функции: если настаивать на плотности, её можно записать как
f(x) = Σ pᵢ·δ(x-xᵢ). Это обобщённая функция, а не обычная: интеграл по малой окрестности точки xᵢ даёт ровно pᵢ; - функция распределения:
F(x)у дискретной величины ступенчатая, скачки высотой pᵢ в точках xᵢ, между ними она постоянна; - смысл значений: у непрерывной величины
P(X = x) = 0для любой точки, а значение плотности не вероятность и может быть больше 1. У дискретной значение PMF уже вероятность и не превышает 1.
Для Go полезно показать, где это встречается. В gonum.org/v1/gonum/stat/distuv у Normal метод Prob возвращает плотность, а у Poisson и Binomial тот же метод возвращает вероятность конкретного значения. Бывают и смешанные распределения: время ответа сервиса под context.WithTimeout непрерывно до таймаута, а на самом таймауте сидит отдельная масса вероятности, то есть одна дельта поверх обычной плотности.
Где спотыкаются
Называют значение плотности вероятностью. Для непрерывной величины это неверно: вероятность даёт только интеграл по интервалу.
Путают PMF и функцию распределения, говорят, что F(x) = P(X = x). На деле F накапливает вероятность: F(x) = P(X ≤ x).
Отвечают, что для дискретных величин плотности «просто нет», и на этом останавливаются. В обычном смысле так и есть, но интервьюер часто ждёт именно дельта-функции как мостик между двумя случаями.