目次
インストールと準備:最初にインストールとパッケージ
サバイバルカーブを描く方法は?
回帰分析を行う方法は? Coxモデルについて学びます
高度なヒント:欠落データの処理を無視しないでください

Pythonによる生存分析

Aug 03, 2025 pm 12:58 PM
python 生存分析

生存分析は、イベントの時間を研究するために使用され、ライフラインとScikit-SurvivalによってPythonで一般的に実装されています。 1.ライフラインライブラリをインストールし、時間とイベントのステータスを含むデータを準備します。 2。カプラン・マイヤー推定器を使用して生存曲線を描き、イベントが発生しない確率を視覚化します。 3.コックス比例ハザードモデルを介したイベント時間に対する変数の影響を分析し、モデルの仮定を確認します。 4.検閲されたデータの処理に注意して、イベント列が検閲とイベントの発生を正しくマークすることを確認してください。

Pythonによる生存分析

サバイバル分析は少し神秘的に聞こえますが、実際には「何かが起こったとき」を勉強するために使用されます。たとえば、顧客がいつ失われるか、機器がいつ失敗するか、治療後に患者がどれくらいの期間再発するのか...これらの問題はすべて、生存分析を使用してすべてモデル化できます。データサイエンスの主なツールとして、Pythonには成熟したライブラリとそれを実装する方法があります。

Pythonによる生存分析

次に、実用的な観点から始めて、Pythonサバイバル分析を開始する際に最も知る必要があるポイントのいくつかについて話します。


インストールと準備:最初にインストールとパッケージ

Pythonで生存分析に最も一般的に使用されるライブラリは、ライフラインSCIKITスーバルです。始めたばかりの場合は、APIが簡潔でドキュメントに優しいもので、迅速なアクセスに適しているため、最初にライフラインを使用することをお勧めします。

Pythonによる生存分析

インストールコマンド:

 PIPインストールLivesLines

データをロードした後、キーはデータが正しくフォーマットされていることを確認することです。通常、2つのフィールドが必要です。

Pythonによる生存分析
  • duration :観察する時間の長さ(ユーザーがチャーンに登録する日数など)
  • event :ターゲットイベントが発生したかどうか(1つは発生したことを意味し、0は発生していないか、検閲されたことを意味します)

サバイバルカーブを描く方法は?

生存曲線は、それを示す最も直感的な方法です。特定の時点でイベントが発生しなかった可能性がどれほど可能かを知ることができます。

Lifelinesは、Kaplan-Meier推定器を使用するなど、既製の方法を提供します。

 LifelinesからKaplanmeierfitterをインポートします

kmf = kaplanmeierfitter()
kmf.fit(durations = df ['duration']、event_obsived = df ['event'])
kmf.plot_survival_function()

このコードは3つのことを行います。

  • KMモデルインスタンスを作成しました
  • データを使用してモデルに適合します
  • 結果を視覚化します

2つのグループの人々(男性対女性など)を比較したい場合は、比較を個別にフィットして描画できます。現時点では、異なるグループ間の生存の違いを見ることができます。


回帰分析を行う方法は? Coxモデルについて学びます

曲線を描画することに加えて、イベントが発生したときにどの変数に影響するかを確認することもできます。この時点で、 Cox比例ハザードモデル(COX PH)を使用する必要があります。

ライフラインのCoxPHFitterクラスは非常に便利です。

 LifelinesからImport coxphfitterから

cph = coxphfitter()
cph.fit(df、duration_col = 'duration'、event_col = 'event')
cph.print_summary()

このモデルからの結果出力は、各変数の係数(COEF)、p値(有意であるかどうか)、およびハザード比(ハザード比)を示します。たとえば、正の係数は、この変数がリスクを増加させることを示し、負の係数はリスクを減らすことを意味します。

注:

  • 比例リスクの仮定が真であるかどうかを確認するには( check_assumptions()メソッドを使用できます)
  • カテゴリ変数がある場合は、1ホットのエンコードを行うことを忘れないでください
  • 変数間に共線性がある場合、モデルの安定性に影響します。

高度なヒント:欠落データの処理を無視しないでください

検閲は、サバイバル分析の中心的な概念の1つです。簡単に言えば、欠落データは、「イベントはまだ起こっていない」ことしか知らないことを意味しますが、それが起こるかどうかはわかりません。

たとえば、ユーザーがまだ製品を使用している場合、損失時間は削除されます。この場合、直接捨てたり、値を何気なく記入することはできません。削除されたものとして明確にマークする必要があります。

ライフラインは、適切なときに検閲の問題を自動的に処理しましたが、 event列の0が検閲を意味し、1つの平均イベントが発生することを確認する必要があります。

モデルが効果的ではなく、モデルの問題ではなく、検閲された分布を無視することがあることがわかります。たとえば、削除されたサンプルは特定の期間または特定の特徴の組み合わせに濃縮されていますか?これはバイアスにつながる可能性があります。


基本的にそれだけです。サバイバル分析自体は複雑ではありませんが、本当によく使用されるには、検閲処理、モデルの仮定の検証、可変選択などの詳細に注意を払う必要があります。Pythonは非常にフレンドリーなツールチェーンを提供します。

以上がPythonによる生存分析の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

ホットトピック

暗号通貨取引における感情分析とは何ですか? 暗号通貨取引における感情分析とは何ですか? Aug 14, 2025 am 11:15 AM

目次暗号通貨取引における感情分析とは何ですか?暗号通貨投資で感情分析が重要である理由は、感情データの重要なソースa。ソーシャルメディアプラットフォームb。ニュースメディアc。センチメント分析とテクノロジーのツールセンチメント分析で一般的に使用されるツール:採用された技術:センチメント分析を取引戦略に統合する方法:戦略の使用方法:戦略の例:BTC取引シナリオシナリオ設定の仮定:感情シグナル:決定:結果:結果とリスクハミドによる最近の2025年の研究

メモリに収まらないPythonで大きなデータセットを処理する方法は? メモリに収まらないPythonで大きなデータセットを処理する方法は? Aug 14, 2025 pm 01:00 PM

Pythonのメモリを超える大きなデータセットを処理する場合、一度にRAMにロードすることはできません。代わりに、チャンク処理、ディスクストレージ、ストリーミングなどの戦略を採用する必要があります。 CSVファイルは、PandasのChunksizeパラメーターを介してチャンクで読み取ることができ、ブロックごとにブロックを処理できます。 Daskを使用して、Pandas構文と同様の並列化とタスクスケジューリングを実現して、大規模なメモリデータ操作をサポートできます。メモリの使用量を減らすために、テキストファイルをラインごとに読み取るためのジェネレーター関数を書き込みます。 Parquet Colornarストレージ形式をPyarrowと組み合わせて使用して、特定の列または行グループを効率的に読み取ります。 NumpyのMemmapを使用して大きな数値配列をメモリして、需要のあるデータフラグメントにアクセスするか、SQLiteやDuckDBなどの軽量データにデータを保存します。

崇高なテキストでPythonコードをデバッグする方法は? 崇高なテキストでPythonコードをデバッグする方法は? Aug 14, 2025 pm 04:51 PM

USESUBLIMETEXT’SBUILDSYSTEMTORUNPYTHONSCRIPTSSANDCATCHERRORSBYPRESSINGCTRL BAFTSTITINGTHECRECTSTYSTEMSESTINGACUSTOMONE.2.INSERTSTRATEGICPRINT()STATEMESTCHECKECKVARIABLEVALUES、タイプ、タイプ、セキュリティフロー、LABELSANDREPRを使用します

Pythonコードをデバッグする方法 Pythonコードをデバッグする方法 Aug 13, 2025 am 12:18 AM

useprint()statementstocheckvariablevaluesAndexecutionflow、addinglabelsandtypesforclarity、andremovethembeforecommitting;

崇高なテキストでPythonコードを実行する方法は? 崇高なテキストでPythonコードを実行する方法は? Aug 16, 2025 am 04:58 AM

Pythonがインストールされ、システムパスに追加されていることを確認し、Python(versionまたはpython3-version Verification from terminal)を実行してください。 2。hello.pyなどの.py拡張子としてpythonファイルを保存します。 3. sublimetextでカスタムビルドシステムを作成する、Windowsユーザーは{"cmd":["python"、 "-u"、 "$ file"]}を使用します。

VSCODEでPythonスクリプトをデバッグする方法 VSCODEでPythonスクリプトをデバッグする方法 Aug 16, 2025 am 02:53 AM

Pythonスクリプトをデバッグするには、最初にPython拡張子をインストールしてインタープリターを設定し、Launch.jsonファイルを作成してデバッグ構成を設定する必要があります。次に、コードにブレークポイントを設定し、F5を押してデバッグを開始する必要があります。スクリプトはブレークポイントで一時停止され、チェック変数と段階的な実行が可能になります。最後に、コンソールの出力を表示したり、ログを追加したり、パラメーターを調整したりするなどして問題を確認して、環境が正しい後にデバッグプロセスがシンプルで効率的であることを確認します。

VSCODEでPythonコードを自動的にフォーマットする方法 VSCODEでPythonコードを自動的にフォーマットする方法 Aug 14, 2025 pm 04:10 PM

toautomately formatpythoncodeinvscode、installblackusingpipinstallblack、instiththeofficialmicrosoftpythonextension、setblackastheformatterinsettings.jsonwith "python.formatting.provider": "black"、enabableformatonsavebyadding "edit

崇高なテキストでPythonプロジェクトを作成する方法は? 崇高なテキストでPythonプロジェクトを作成する方法は? Aug 16, 2025 am 08:53 AM

InstallSublimeTextandPython,thenconfigureabuildsystembycreatingaPython3.sublime-buildfilewiththeappropriatecmdandselectorsettingstoenablerunningPythonscriptsviaCtrl B.2.OrganizeyourprojectbycreatingadedicatedfolderwithPythonfilesandsupportingdocument

See all articles