density=True Π² plt.hist Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π½ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ гистограммы, ΠΏΡ€ΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΎΠ½Π° интСрпрСтируСтся ΠΊΠ°ΠΊ ΠΎΡ†Π΅Π½ΠΊΠ° плотности распрСдСлСния, Π° Π½Π΅ ΠΊΠ°ΠΊ счётчик элСмСнтов.

Π§Ρ‚ΠΎ это ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚:

– высота столбцов β€” Π½Π΅ количСство элСмСнтов
– ΠΏΠ»ΠΎΡ‰Π°Π΄ΡŒ ΠΏΠΎΠ΄ всСй гистограммой Ρ€Π°Π²Π½Π° 1
– гистограмму ΠΌΠΎΠΆΠ½ΠΎ ΡΡ€Π°Π²Π½ΠΈΠ²Π°Ρ‚ΡŒ с тСорСтичСской ΠΏΠ»ΠΎΡ‚Π½ΠΎΡΡ‚ΡŒΡŽ распрСдСлСния

Π€ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π±ΠΈΠ½Π°:

height = count / (N * bin_width)

Π³Π΄Π΅
– count β€” число элСмСнтов Π² Π±ΠΈΠ½Π΅
– N β€” Ρ€Π°Π·ΠΌΠ΅Ρ€ Π²Ρ‹Π±ΠΎΡ€ΠΊΠΈ
– bin_width β€” ΡˆΠΈΡ€ΠΈΠ½Π° ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»Π°

ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

import numpy as np
import matplotlib.pyplot as plt
 
data = np.random.normal(0, 1, 1000)
 
plt.hist(data, bins=30, density=True)
plt.show()

Если Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Ρ‚Π΅ΠΎΡ€Π΅Ρ‚ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ ΠΏΠ»ΠΎΡ‚Π½ΠΎΡΡ‚ΡŒ:

x = np.linspace(-4, 4, 200)
pdf = (1 / np.sqrt(2*np.pi)) * np.exp(-0.5 * x**2)
 
plt.hist(data, bins=30, density=True)
plt.plot(x, pdf)
plt.show()

Когда ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ density=True:

– ΠΏΡ€ΠΈ сравнСнии Π²Ρ‹Π±ΠΎΡ€ΠΊΠΈ с тСорСтичСским распрСдСлСниСм
– ΠΏΡ€ΠΈ сравнСнии гистограмм с Ρ€Π°Π·Π½Ρ‹ΠΌ Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ Π²Ρ‹Π±ΠΎΡ€ΠΊΠΈ
– ΠΊΠΎΠ³Π΄Π° интСрСсуСт Ρ„ΠΎΡ€ΠΌΠ° распрСдСлСния, Π° Π½Π΅ Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½Ρ‹Π΅ частоты

Когда Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ:

– Ссли Π²Π°ΠΆΠ½ΠΎ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ΅ количСство наблюдСний Π² ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»Π°Ρ…
– для ΠΎΡ‚Ρ‡Ρ‘Ρ‚ΠΎΠ², Π³Π΄Π΅ интСрпрСтируСтся ΠΈΠΌΠ΅Π½Π½ΠΎ число элСмСнтов

ΠšΠΎΡ€ΠΎΡ‚ΠΊΠΎ:
density=True ΠΏΡ€Π΅Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ гистограмму ΠΈΠ· счётчика наблюдСний Π² Π½ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ ΠΎΡ†Π΅Π½ΠΊΡƒ плотности распрСдСлСния с ΠΏΠ»ΠΎΡ‰Π°Π΄ΡŒΡŽ 1.