Преобразуйте какое-то экспоненциальное распределение в нормальное распределение - PullRequest
0 голосов
/ 15 ноября 2018

У меня есть следующее экспоненциальное распределение, сгенерированное со следующим кодом:

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import random

np.random.seed(1)
tags_ratio = np.random.exponential(1/25, 1000)
plt.hist(tags_ratio, range=(0, 1), bins=100)
plt.show()

enter image description here

Я пытаюсь преобразовать мои данные, находящиеся в tags_ratio, в нормальное распределение, но безуспешно.

Пробовал с функцией логарифма и квадратом. это дало достойные результаты. Но мне интересно больше идей. Может быть, более изощренным.

1 Ответ

0 голосов
/ 15 ноября 2018

Вы можете попробовать посмотреть, поможет ли это:

from scipy.stats import boxcox
tags_ratio = boxcox(tags_ratio, 0.3)
plt.hist(tags_ratio)
plt.show()

результат:

enter image description here

для получения дополнительных объяснений и теории о Box-Cox нажмите здесь.

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