Получение значений кондиционирования из распределения - PullRequest
0 голосов
/ 17 июня 2020

Я пытаюсь захватить значения из дистрибутива ядра, который дает почти 0 и в конце хвоста. Моя попытка состоит в том, чтобы взять значения из функции kernel, распределенные на временной шкале от -120 до 120, и сделать процентное изменение значений из ядра, так что тогда я могу объявить произвольное правило, что 10 последовательных отрицательных изменений и которые значение ядра почти равно 0, я могу объявить его как начальную точку от конца кривой.

Пример иллюстрации, для какой точки функции ядра я хочу получить.

enter image description here

в этом случае окончательное значение, которое я хотел бы получить, составляет около 300

, как выглядит мой фрейм данных (это не те же примерные значения выше):

df

id   event_time
 1            2
 1            3
 1            3
 1            5
 1            9
 1           10
 2            1
 2            1
 2            2
 2            2
 2            5
 2            5

 # my try

 def find_value(df):

    if df.shape[0] == 1:
        return df.iloc[0].event_time

    kernel = stats.gaussian_kde(df['event_time'])
    time = list(range(-120,120))
    a = kernel(time)
    b = np.diff(a) / a[:-1] * 100

пока что у меня есть a, который представляет ось Y на графике, и b, который представляет изменение в Y. Причина, по которой я сделал это, состоит в том, чтобы сделать logi c, сделанный при попрошайничестве, но не знаю, как закодируйте это. после написания функции я думал об использовании groupby и apply

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