0 / 0
Go back to the English version of the documentation
笔记本中的 SPSS 预测性分析生存分析算法
Last updated: 2024年10月07日
笔记本中的 SPSS 预测性分析生存分析算法

您可以在 Notebook 中使用非参数分布拟合,参数分布拟合或参数回归建模 SPSS 预测分析算法。

非参数分布拟合

生存分析将会分析数据,其中结果变量是距离发生感兴趣的事件的时间。 通常由生存函数描述事件时间分布。

非参数分布拟合 (NPDF) 将提供生存函数估算,而不对数据分布进行任何假设。 NPDF 包含 Kaplan-Meier 估算、寿命表和专门的扩展算法,以支持左删失、区间删失和周期性事件数据。

Python 示例代码:

from spss.ml.survivalanalysis import NonParametricDistributionFitting
from spss.ml.survivalanalysis.params import DefinedStatus, Points, StatusItem

npdf = NonParametricDistributionFitting(). \
    setAlgorithm("KM"). \
    setBeginField("time"). \
    setStatusField("status"). \
    setStrataFields(["treatment"]). \
    setGroupFields(["gender"]). \
    setUndefinedStatus("INTERVALCENSORED"). \
    setDefinedStatus(
    DefinedStatus(
        failure=StatusItem(points = Points("1")),
        rightCensored=StatusItem(points = Points("0")))). \
    setOutMeanSurvivalTime(True)

npdfModel = npdf.fit(df)
predictions = npdfModel.transform(data)
predictions.show()

参数分布拟合

生存分析将会分析数据,其中结果变量是距离发生感兴趣的事件的时间。 通常由生存函数描述事件时间分布。

参数分布拟合 (PDF) 通过比较多个已知分布(指数、Weibull、对数正态和对数 Logistic)的函数来确定哪一个函数(如果有)最能描述数据,从而提供生存函数的估算。 此外,还可以比较两组或更多组用例的分布。

Python 示例代码:

from spss.ml.survivalanalysis import ParametricDistributionFitting
from spss.ml.survivalanalysis.params import DefinedStatus, Points, StatusItem

pdf = ParametricDistributionFitting(). \
    setBeginField("begintime"). \
    setEndField("endtime"). \
    setStatusField("status"). \
    setFreqField("frequency"). \
    setDefinedStatus(
        DefinedStatus(
         failure=StatusItem(points=Points("F")),
         rightCensored=StatusItem(points=Points("R")),
         leftCensored=StatusItem(points=Points("L")))
    ). \
    setMedianRankEstimation("RRY"). \
    setMedianRankObtainMethod("BetaFDistribution"). \
    setStatusConflictTreatment("DERIVATION"). \
    setEstimationMethod("MRR"). \
    setDistribution("Weibull"). \
    setOutProbDensityFunc(True). \
    setOutCumDistFunc(True). \
    setOutSurvivalFunc(True). \
    setOutRegressionPlot(True). \
    setOutMedianRankRegPlot(True). \
    setComputeGroupComparison(True)

pdfModel = pdf.fit(data)
predictions = pdfModel.transform(data)
predictions.show()

参数回归建模

参数回归建模 (PRM) 是一种生存分析方法,它考虑到协变量对生存时间的影响。 PRM 包含两种模型类型:加速失效时间模型和脆弱模型。 加速失效时间模型假定生存时间对数与协变量的关系是线性关系。 脆弱模型(或随机效应模型)可在分析周期性事件或相关生存数据时或在对观测值通过聚类算法分组时使用。

PRM 会自动选择最能描述生存时间的生存时间分布(指数、Weibull、对数正态或对数 Logistic)。

Python 示例代码:

from spss.ml.survivalanalysis import ParametricRegression
from spss.ml.survivalanalysis.params import DefinedStatus, Points, StatusItem

prm = ParametricRegression(). \
    setBeginField("startTime"). \
    setEndField("endTime"). \
    setStatusField("status"). \
    setPredictorFields(["age", "surgery", "transplant"]). \
    setDefinedStatus(
        DefinedStatus(
         failure=StatusItem(points=Points("0.0")),
         intervalCensored=StatusItem(points=Points("1.0"))))

prmModel = prm.fit(data)
PMML = prmModel.toPMML()
statXML = prmModel.statXML()
predictions = prmModel.transform(data)
predictions.show()

父主题: SPSS 预测分析算法

Generative AI search and answer
These answers are generated by a large language model in watsonx.ai based on content from the product documentation. Learn more