실습 · 연습문제 2개
성향점수 가중으로 처치 효과 추정하기 ipw-effect
관찰 데이터에서 처치 (예: 첨가제 사용)의 평균 효과 를 추정한다. 교란 변수 가 처치와 결과에 함께 영향을 주므로 단순 비교는 편향된다. 가 backdoor 경로를 모두 막는다고 가정하면, 성향점수 로 가중해 이 편향을 없앨 수 있다. 세 함수를 완성한다.
naive_difference(y, t): 처치군 평균 − 대조군 평균.propensity(Z, t, iters=25): 절편을 포함한 로지스틱 회귀 를 Newton 방법으로 적합해 샘플마다의 , shape(N,)을 반환한다.Z는 shape(N, p)다. Newton 갱신은 이고 는Z앞에 1의 열을 붙인 행렬, 초기값은 이다.ipw_effect(y, t, e): 정규화한 역확률 가중(IPW) 추정량
테스트는 손으로 계산할 수 있는 예, 로지스틱 회귀의 기울기 조건(), 그리고 교란이 있는 시뮬레이션에서 단순 비교는 크게 빗나가고 IPW는 참 효과에 가까운지를 확인한다.
Kaplan–Meier 생존곡선 구현하기 kaplan-meier
셀 개의 관측 시간 와 고장 여부 (1 = 고장 관측, 0 = 중도절단)가 주어진다. Kaplan–Meier 추정량은 고장이 관측된 서로 다른 시각 마다
로 생존함수를 추정한다. 는 시각 에 고장 난 수, 는 그 시각 직전까지 고장도 중도절단도 되지 않은 수(위험 집합의 크기, 인 의 수)다. 두 함수를 완성한다.
kaplan_meier(time, event):(t_j, S_j)를 반환한다.t_j는 고장이 관측된 서로 다른 시각의 오름차순 배열,S_j는 각 시각 직후의 다. 둘 다 shape(J,).- 같은 시각에 고장과 중도절단이 함께 있으면, 중도절단된 셀은 그 시각의 위험 집합에 포함한다(관례: 중도절단은 고장 직후에 일어난 것으로 본다).
km_median(t_j, S_j): 가 처음 되는 시각을 반환한다. 끝까지 0.5 아래로 내려가지 않으면np.inf를 반환한다(관측 기간 안에서 중앙값을 추정할 수 없다는 뜻).
테스트는 손으로 계산한 예, 중도절단이 없으면 경험 생존함수와 같아지는지, 같은 시각의 동점 처리, 그리고 중도절단이 많은 시뮬레이션에서 참 생존함수에 가까운지를 확인한다.