gpt4 book ai didi

python - 输入均值和标准差以在 DataFrame Pandas Python 中应用概率分布

转载 作者:行者123 更新时间:2023-11-28 17:30:32 25 4
gpt4 key购买 nike

我有一系列的 future 日期。我想使用关于标准偏差的假设和尚未安排的事件的平均值来“预测”该事件在任何给定日期发生的 future 概率。假设我有一个 min/max 日期为 1/8/162/3/16 的 Pandas DF。我目前只是在所有天运行相同的概率 (.037 ...)。

我把它放在一个看起来像这样的数据框中(我已经手动填写了所需的 Standard_dev_assisted_probability):

Poss_Date   Equal_probability  Standard_dev_assisted_probability

1/8/2016 0.037037 min date in poss date range
1/9/2016 0.037037
1/10/2016 0.037037
1/11/2016 0.037037 -1st dv / two thirds border
1/12/2016 0.037037
1/13/2016 0.037037
1/14/2016 0.037037
1/15/2016 0.037037
1/16/2016 0.037037
1/17/2016 0.037037
... ...
1/22/2016 0.037037 mean / peak of distribution
... ...
2/1/2016 .03707 +~1std dev
2/3/2016 0.037037 max date in poss range

如果我们假设 future 分布的“均值”是 1/22/16,而标准开发是 11 天...

有没有办法将它们插入 Pandas DF 并让它有概率吐出一列?显然,66% 的概率应该在 1/22 左右分配 +/- 11 天,正态分布等。

我正在用伪代码成像,它会是这样的:

df['Probability']=df.applystandarddev(column=dates,mean=1/22,stddv=11)

如果我们不需要“考虑”超过平均值的缩短时间段,那就太好了。显然,平均值之前的时间比之后的时间要多,但我认为这是图书馆处理的统计游戏的一部分,等等。

最佳答案

通过在一天结束时和一天开始时获取给定概率的 CDF,我们能够找到事件在当天发生的概率。

这是一个正态分布的例子。

from scipy.stats.distributions import norm

def prob_distribution(day, mean_day, std):
start_z = float((day - mean_day).days) / std
end_z = float((day - mean_day).days + 1) / std
return norm.cdf(end_z) - norm.cdf(start_z)

df['Prob'] = df['Poss_Date'].apply(lambda day: prob_distribution(day, datetime(2016,2,1), 10))

关于python - 输入均值和标准差以在 DataFrame Pandas Python 中应用概率分布,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34688696/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com