2017-10-20 2 views
0

PythonでPALIVE(較正期間の終わりにまだ生きている確率)を計算するのに助けてくれる人はいますか?Rのpnbd.PAliveのようなPythonでのPALIVEの構文は?

私はRにパレート負の二項分布があることを知っています pnbd.PAlive(params, r, s, apha, beta) しかし、それはPythonに似ていますか?

答えて

0

メソッドをlifetimesパッケージから使用できます。お客様ごとにfrequencyrecencyTを渡す必要があります。 BetaGeoFitter(BG/NBDモデル)のための例:

from lifetimes import BetaGeoFitter 
from lifetimes.datasets import load_cdnow_summary 

# load data 
data = load_cdnow_summary(index_col=[0]) 
print(data.head()) 

# fit lifetimes model 
bgf = BetaGeoFitter(penalizer_coef=0.0) 
bgf.fit(data['frequency'], data['recency'], data['T']) 
print(bgf) 

# predict p_alives for customers 
p_alive1 = bgf.conditional_probability_alive(2, 30.43, 38.86) 
p_alive2 = bgf.conditional_probability_alive(1, 30, 30) 
print(p_alive1, p_alive2) 

出力:

frequency recency  T 
ID       
1   2 30.43 38.86 
2   1  1.71 38.86 
3   0  0.00 38.86 
4   0  0.00 38.86 
5   0  0.00 38.86 
<lifetimes.BetaGeoFitter: fitted with 2357 subjects, a: 0.79, alpha: 4.41, b: 2.43, r: 0.24> 
0.7266084620654866 0.753658243186767 
+0

私の4値が、それは私にPaliveためのナンを与える高いときにそんなに多くの時間のための – pybeginner

+0

をお願いします。 – pybeginner