Как разместить бета-версию в Python?

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

Чтобы было понятно, что я делаю - из столбца 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)

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

Как разместить бета-версию в Python?

Как разместить бета-версию в Python?

Как мы видим из графиков

  • Данные-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?

Попробуйте посмотреть здесь, так как на это, кажется, ответили. stats.stackexchange.com/questions/68983/…

bart cubrich 09.03.2019 23:20

Я видел это некоторое время назад, но не так сильно помогает. Я был бы признателен, если бы вы могли дать ему попробовать и спасибо.

user10553396 09.03.2019 23:22

Можете ли вы упростить свои примерные данные только до данных, которые вы пытаетесь подогнать для распределения, как более простую версию вопроса. Похоже, ваш код уже работает для того, что вы хотите сделать с необработанными данными.

bart cubrich 09.03.2019 23:56

Я никогда не слышал о бета-распределениях, но, возможно, stats.stackexchange.com/questions/68983/… будет чем-то полезен.

Reedinationer 12.03.2019 05:06

У меня нет доступа к данным. Можете ли вы как-то предоставить доступ к данным?

titipata 02.04.2019 23:37
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
1
5
841
0

Другие вопросы по теме