2017-02-22 8 views
3

私はPythonで基本的な生存モデルを適合させようとしています。問題の要点は、私は多数の観測値を持っているので、私のデータはビニングされています。つまり、すべての行は単一の被験者ではなく、共通の属性を持つ被験者の数です(同じ共変量、結果)。 lifelinesパッケージでは、Coxモデルに合わせて行ごとに観測が必要になると思われます。同様に、ワイブル曲線をscipy.stats.continuous_rv.fitに合わせようとすると、同じ問題が発生します。Pythonの生存モデルを集計データから継承する

生存回帰パッケージにはすべてこのタイプのデータを許容するweightsベクターを受け入れるように見えるため、問題なくRでこれを行っています。元のデータには数千ものユニークな行があるだけで、集計されたデータを何百万行にも分割するのは非常に非効率的です。任意のポインタが評価されるだろう。

+1

こんにちはジョン、CVへようこそ。どのような種類の質問がここでトピックであるかについては、[ヘルプセクション](https://stats.stackexchange.com/review/first-posts/135392#)のツアーをご覧ください。それが立っているように、私はあなたの質問は、特にソフトウェアのStackOverflowに適しているフィッティングについて感じています。 – Alexis

答えて

0

私は実際にちょうどR.

importr('survival') 
pandas2ri.activate() 
coxph_ = r('coxph') 
model = coxph_(Formula("Surv(time, outcome) ~ f1 + f2"), data=df, weights=df.num_in_group) 

base = importr('base') 
print(base.summary(model)) 

ない偉大なを呼び出しますが、今の仕事を取得するためにPythonでrpy2パッケージを使用して終了。私はどのように驚いた良いrpy2でした。それは非常に素晴らしいパンダ< - > data.frameの相互運用性を持っています。助けもかなり良いです(rpy2.readthedocs.io)。

0

lifelines(Pythonでの生存解析ライブラリ)が、この機能をサポートするようになりました。これを使用するには、サブジェクトのデータフレームにウェイトカラムを追加し、fitへのコールで指定します。ここ

from lifelines import CoxPHFitter 

cph = CoxPHFitter() 
cph.fit(df, duration_col="T", event_col="E", weight_col="weights") 

さらに例: https://github.com/CamDavidsonPilon/lifelines/blob/8b1249ad96833c764a8ebf78d199a104ab7cb5f5/tests/test_estimation.py#L890-L899

関連する問題