как сделать имитацию начальной загрузки для распределения gpd - PullRequest
0 голосов
/ 05 января 2019

Пытаюсь оценить доверительный интервал для образца распределения ударного давления промывочного бака.

размер выборки составляет около 100, и для анализа используется обобщенное распределение Парето (gpd).

я сделал следующее:

  1. повторная выборка с заменой из выборки
  2. оценка параметров для gpd
  3. получить процентиль для заданного доверительного интервала

реализованный код Python приведен ниже:

import numpy as np
from scipy.stats import genpareto

ci = 0.95
lower = list()
upper = list()
params = list()

for i in range(number_of_resample):
    # draw with replacement and sort
    sample = sorted(np.random.choice(data_series, size=len(data_series), replace=True), reverse=True) 
    # list of tuple (shape, loc, scale)
    params.append(genpareto.fit(sample)) 

for i, epf in enumerate(epf_series):
    for j, param_tuple in enumerate(params):
        # store evaluations at the given excessive probability from the resampled distribution
        dist.append(
            genpareto.ppf(1-epf, param_tuple[0], loc=param_tuple[1], scale=param_tuple[2]
            )
        ) 
    p = ((1-ci)/2)*100
    lower.append(np.percentile(dist, p))
    p = ((ci + ((1-ci)/2))*100
    upper.append(np.percentile(dist, p))

Я не уверен, что приведенный выше код является правильной реализацией процентиля начальной загрузки для доверительного интервала Кроме того, не уверен насчет использования genpareto.fit в этом случае, потому что gpd - это двухпараметрическое распределение, а genpareto.fit возвращает три параметра.

Любые комментарии и советы приветствуются.

...