Как установить бета-версию в Python? - PullRequest
0 голосов
/ 09 марта 2019

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

Чтобы было понятно, что я делаю - из столбца 2 я читаю текущую строку и сравниваю ее со значением предыдущей строки.Если оно больше, я продолжаю сравнивать.Если текущее значение меньше значения предыдущего ряда, я хочу разделить текущее значение (меньше) на предыдущее значение (больше).Соответственно, следующий код:

import numpy as np
import scipy.stats
import matplotlib.pyplot as plt
import seaborn as sns

protocols = {}

types = {"data_v": "data_v.csv"}

for protname, fname in types.items():
    col_time,col_window = np.loadtxt(fname,delimiter=',').T
    trailing_window = col_window[:-1] # "past" values at a given index
    leading_window  = col_window[1:]  # "current values at a given index
    decreasing_inds = np.where(leading_window < trailing_window)[0]
    quotient = leading_window[decreasing_inds]/trailing_window[decreasing_inds]
    quotient_times = col_time[decreasing_inds]

    protocols[protname] = {
        "col_time": col_time,
        "col_window": col_window,
        "quotient_times": quotient_times,
        "quotient": quotient,
    }
    plt.figure(); plt.clf()
    diff=quotient_times
    plt.plot(diff,beta_value, ".", label=protname, color="blue")
    plt.ylim(0, 1.0001)
    plt.title(protname)
    plt.xlabel("quotient_times")
    plt.ylabel("quotient")
    plt.legend()
    plt.show()
    sns.distplot(quotient, hist=False, label=protname)

Это дает следующие графики.

enter image description here

enter image description here

Как видно из графиков

  • Data-V имеет коэффициент 0,8, когда quotient_times меньше 3 и коэффициент остается0,5, если quotient_times больше 3.

Исходя из этого, как мы можем разместить эти данные в beta подобном распределении, когда quetient_times меньше 3 и больше 3?Интуитивно понятно, что когда quetient_times меньше 3, пик распределения будет сосредоточен вокруг 0,8.Когда quetient_times составляет около 3 или 3,05, пик будет между 0,8 и 0,5 (50%, 50%).Однако когда quetient_times больше 3, пик будет центрироваться только около 0,5.Как мы можем сделать это в Python?

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