0 / 0
영어 버전 문서로 돌아가기

노트북의 SPSS 예측 분석 생존 분석 알고리즘

마지막 업데이트 날짜: 2024년 10월 04일
노트북의 SPSS 예측 분석 생존 분석 알고리즘

비모수 분포 맞춤, 파라메트릭 분포 맞춤 또는 파라메트릭 회귀 모델링 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)은 몇 가지 알려진 분포(지수, 베이불, 로그 정규 및 로그 로지스틱)의 함수를 비교해 어느 것이 데이터를 가장 잘 나타내는지(그러한 함수가 있는 경우) 판별함으로써 생존 함수에 대한 추정을 제공합니다. 둘 이상의 케이스 그룹 또한 비교할 수 있습니다.

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은 두 가지 모델 유형(가속 고장 시간 및 허약)을 포함합니다. 가속 고장 시간(AFT) 모델에서는 생존 시간의 로그와 공변량 사이의 관계가 선형이라고 가정합니다. 허약(또는 변량효과) 모델은 순환 이벤트 또는 서로 관련된 생존 데이터를 분석하거나, 관측값이 그룹을 이룰 경우 유용합니다.

PRM에서는 생존 시간을 가장 잘 나타내는 생존 시간 분포(지수, 베이불, 로그 정규 또는 로그 로지스틱)를 자동으로 선택합니다.

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 예측 분석 알고리즘