У меня есть набор данных, который находится в форматеПрименить эксцесс к распределению в Python
частоты, направление, нормализованной спектральной плотности мощности, распространение, асимметричность, куртозис
Я могу визуализировать распределение конкретная запись с использованием кода из верхнего ответа в skew normal distribution in scipy, но я не уверен, как применить значение куртоза к дистрибутиву?
from scipy import linspace
from scipy import pi,sqrt,exp
from scipy.special import erf
from pylab import plot,show
def pdf(factor, x):
return (100*factor)/sqrt(2*pi) * exp(-x**2/2)
def cdf(x):
return (1 + erf(x/sqrt(2)))/2
def skew(x,e=0,w=1,a=0, norm_psd=1):
t = (x-e)/w
return 2/w * pdf(norm_psd, t) * cdf(a*t)
n = 540
e = 341.9 # direction
w = 59.3 # spread
a = 3.3 # skew
k = 4.27 # kurtosis
n_psd = 0.5 # normalised power spectral density
x = linspace(-90, 450, n)
p = skew(x, e, w, a, n_psd)
print max(p)
plot(x,p)
show()
Edit: я удалил перекос нормального от своего титула, как я не думаю, что это на самом деле можно применить значение эксцесса для вышеуказанного распределения, я думаю, что иное распределение необходимо, так как направление участвуют может быть более целесообразным распространение из круговой статистики?
Благодаря ответу ниже я могу применить эксцесс, используя функцию pdf_mvsk, продемонстрированную в приведенном ниже коде, к сожалению, мои косые значения вызывают отрицательное значение y, но ответ удовлетворяет моему вопросу.
import numpy as np
import matplotlib.pyplot as plt
import statsmodels.sandbox.distributions.extras as extras
pdffunc = extras.pdf_mvsk([341.9, 59.3, 3.3, 4.27])
range = np.arange(0, 360, 0.1)
plt.plot(range, pdffunc(range))
plt.show()
ваш вопрос кажется спутать. вы удалили перекос из названия, потому что вы «не думаете, что на самом деле можно применить значение * kurtosis». почему «эксцесс» в этом цитируемом тексте? Какова логика? и почему вы считаете, что круговая статистика имеет значение? Конечно, один из способов добавить эксцесс - просто поднять PDF до некоторой мощности (более одного для большего пика, менее одного для меньшего), а затем перенормировать. конечно, нет никакой гарантии, что это оставит без изменений другие параметры, чего вы хотите, в идеале. –