생존 시간의 예측 정확도를 알고싶을때는, MSE를 사용하고 사망여부를 고려한 생존시간 예측정확도를 알고 싶다면 C-index를 사용한다.
C-index란?
1) 샘플들의 생존 시간을 오름차순으로 나열하고, 사건이 관찰된 각 샘플들보다 오래 생존한 샘플들의 개수를 모두 더한 총합
2) 샘플들을 예측된 생존시간의 오름차순으로 나열하고, 사건이 관찰된 각 샘플들보다 오래 생존할 것으로 올바르게 예측된 샘플들의 개수를 모두 더한 총합
1과 2의 비율로 나타난다.
c-index는 0.0~1.0 사이의 값을 갖는다. 1.0에 가까울수록 정확히 예측한다고 해석하고, 0.5에 가까울수록 무작위로 예측한다고 평가한다. 해석이 AUROC(Area Under Receiver Operating Characteristic curve)와 비슷하여, c-index를 AUROC의 회귀분석용으로 확장한 것이라는 이야기도 있다.
자기 자신의 과거값을 사용하는 모형으로 현재 시계열 자료의 몇번째 전 자료까지 영향을 주는가를 구하는 것이 목적
만약, 현시점의 시계열 자료가 과거 1시점 이전 자료만 영향을 준다면 1차 자기회귀모형이라고 한다. AR(1)
일반적으로 어느정도까지 데이터를 사용할것인지 p로 나타내며, AR(p)라고 표기한다.
자기회귀모형인지 판단하기 위해서는 자신과의 상관성과 부분자기상관함수를 사용해 판단한다.
자기회귀모형은 자기상관함수가 시차 증가에 따라 점차 감소하고 부분자기상관함수는 시차 후 급격히 감소해 절단된 형태를 취한다.
자기 상관(Auto-Correlation)
자기 자신의 데이터간의 상관계수를 보는것이다. 이 때, 시차(Time Lag)가 사용되는데, 예를 들어 시차가 1,2,3... 인 데이터와 시차가 0인 데이터의 상관관계를 구하면 시차의 변화에 따라 자기상관을 계산할 수 있다. 이를 통해, 자기상관함수(ACF)를 만들 수 있고
비정상시계열의 경우 ACF는 천천히 감소하며, 큰값을 가지는 경우가 많다.
이동평균모형(MA, Moving Average)
우리가 어떠한 시계열 데이터를 가지고 전처리를 했을 때 이 시계열을 정상 시계열이라고 가정해보자. 그렇다면 이 시계열은 모든 구간에서 동일한 평균과 편차를 가질 것이다. 그렇다면 이 시계열의 모집단 분포도 동일한 평균과 분산을 가질 것이다(정규 분포를 가정).
이렇게 구성된 모집단에서 데이터를 샘플링 한다. 표본 집단(시계열)과 모집단에서 각각 샘플링한 데이터의 에러가 일정할 것이라 가정하고 분석을 진행한다. 이때 모집단을 백색 잡음(White Noise)이라 부른다. 평균이 $\mu$, 표준편차가 $\sigma$인 백색 잡음(White Noise)으로 생성한 시계열과의 error의 조합으로 표현할 수 있다.
$Z_t$는 우리가 찾을 관측값이고, 이 관측값과 이전 값들의 에러($a$)에다 계수를 곱해 값을 예측하는 것이다. AR의 경우 관측값 가지고 예측을 하지만, MA의 경우는 분포를 가정하고 가정한 분포에서 샘플링 해 분석을 진행하기에 샘플에 대해서 덜 종속적이게 된다. 일반적으로는 정규 분포를 사용하나, 딥러닝에서는 다른 분포를 사용하기도 한다. 샘플에 덜 종속적이게 되어서 데이터에 불확실성을 가지고 접근하는 것이다. 일종의 생성 모델이라 보면 된다.
최근 데이터의 평균이나 중앙치를 예측하는 방법으로 각 과거치는 동일한 가중치가 주어진다. (최근 데이터에 더 가중치를 주지 않음)
자기회귀누적 이동 모형(ARIMA)
대부분 많은 시계열 자료가 따르는 모형이며 기본비정상시계열이며 차분이나 변환으로 AR, MA, ARMA 모형으로 정상화 할 수 있다.
ARIMA모형은 과거 지식이나 경험을 바탕으로 한 행동에 따라 시계열이 움직이고 있음을 기초로 한다.
따라서, 과거의 관측값과 오차로 현재 시계열 값을 설명한다.
ARMA는 staionay Series에만 적용한다.
정상시계열 입력이 들어왔을떄는 딥러닝보다 ARIMA 성능이 더 좋다.
자기회귀누적 이동모형에서는
1) 차수 p,d,q에 따라 모형의 이름이 바뀜 (p는 AR, q는 MA, d는 ARIMA에서 ARMA로 정상화할떄 몇번 차분했는지 묻는 값들이다.
AR은 과거 시점의 관측자료의 선형결합으로 표현되고, MA는 과거 시점의 백색잡음의 선형결합으로 표현됨, ARMA는 위 두 모형을 합친 모형이다.
p,d,q는 어떻게 정의할까?
ACF plotrhㅏ PACF plot을 통해 AR 및 MA의 모수를 추청한다.
ACF(Autocorrelation function): Lag에 따른 관측치들 사이의 관련성을 측정하는 함수
PACF(Partial autocorrelation function)
k이외의 모든 다른 시점 관측치의 영향력을 배제하고 y_k와 y_(k-1) 두 관측치의 관련성을 측정하는 함수
백색잡음(White Noise)
- 평균이 0이며 일정한 분산을 지닌 정규분포에서 추출된 임의의 수치로 시계열 모형에서 불규칙한 패턴을 가지는 것
네트워크를 Degree of Node의 distribution으로 표현한다면 굉장히 skewed하다. 예를 들면, 일반적으로 100~200의 친구를 갖는 사람들은 매우 많은데, 테일러 스위프트 같은 사람이 친구를 수천명 혹은 수만명 갖고있는 경우에 꼬리가 굉장히긴 distribution(right - skewed)이 형성되기 때문이다. 이때, 테일러 스위프트가 갖는 high degree를 hubs라고 부른다.
nodes의 분포는 어플리케이션 도메인에 상관없이 멱법칙을 따른다.
large scale network를 측정하고 양을 나타내는데 사용하는 measure
Degree distribution
Clustering coefficient
Diameter of a Network
지금까지, node에 대해서 언급했다면 edge의 입장에서 보자.
네트워크가 node N개의 간단한 모형이라면 edge가 가질 수 있는 가장 큰 수는 N * (N-1)/2 이다.
또한, 네트워크의 밀도(Density of Network) 는 엣지의 비율(Fraction of Edge)이다. densitiy에 따라서 네트워크의 양상이 달라진다.
네트워크 밀도에 대해서 논한다면, 가장 먼저 sparse network를 말할 수 있다. 노드 수에 비해 엣지 수가 드문 경우이다. social network가 sparse network의 예이다. 반대로, 엣지가 노드 수를 거의 따라잡은 것이 dense network다. 예를 들면, 먹이사슬이다.
Clustering coefficient는 해당 노드에 이웃하는 노드들이 얼마나 잘 연결되어 있는지 측정하는 measure이다.
Diameter of a Netwrok는 두 노드가 정보가 흐르는데 걸리는 최대 거리를 말한다. 다시 말해, 한 사람으로부터 다른 사람에게 정보가 가기까지 걸리는 가장 긴 길이를 말한다. 또한, 정보가 가기까지 걸리는 최대시간을 의미하기도 한다. maximal geodesic distance in a network이다.
네트워크가 작을때는 노드들간의 관계가 눈에 보이지만, 노드가 만약 수천 수만개라면? 하나의 헤어볼처럼 보이기 쉽상이다.
노드들이 복잡하게 엣지들과 연결되어 있을때 어떻게 중요한 노드를 알아볼 수 있을까?
이때 사용되는 중심성지수라는 것을 살펴보려한다.
중심성지수의 종류와 예제
위세 중심성(Eigenvector Centrality)
예제를 살펴보자, 만약 BTS콘서트가 열리고 콘서트 티켓을 어떤 사람에게 주어야 다른 사람들에게 충분히 홍보가 될까?
이는 중요한 노드가 무엇인지 찾는 과정이다.
가장 간단한 방법으로는 가장 많은 친구가 있는 사람을 찾는 것이다. 가장 엣지가 많이 연결된 노드를 찾으면 된다.
degree of node는 그 노드에 연결되어있는 엣지 개수이다. 이를 adjacency matrix에서 찾으려면 해당하는 노드의 행을 모두 더해주면 된다. 왜냐하면 adjacency matrix는 행과 열이 각각 node들이 연결되어 있는지 아닌지에 대한 행렬이기 때문이다.
하지만, 이걸로 그 사람이 가장 중요하다고 따질 수 없다. 그 사람이 연결된 사람이 많을 뿐이지, 그 사람의 친구, 또 그 사람의 친구가
계속 영향력 있는 사람일지는 모르기 때문이다.
그렇다면 수학적으로 영향력이 계속 많은 친구의 중심은 어떻게 구할까?
eigenvector centrality로 구한다. 이 방법은 해당하는 노드에 주변 모든 이웃들의 점수를 합산한 값을 내준다.
또 다른 방법으로는 Page Rank가 있다. 이런 경우에는 indirected network에서 사용한다. 예를 들면, World Wide Web.
근접 중심성(Clossness Centrality)
근접 중심성(Closeness Centrality)은 특정 노드가 다른 노드까지 도달하는 경로가 얼마나 짧은지를 나타낸다.
근접 중심성을 계산하는 수식은 노드 I에서 I를 제외한 다른 노드까지 도달하는 최소 경로의 평균을 구한 다음, 그 평균을 역수 취하면 된다.
매개 중심성(Betweenness Centrality)
Bottleneck of network는 정보의 흐름을 유지하는데 가장 중요한 node를 말한다. 병목현상이 일어나는 지점이다. 정보의 양은 그 노드가 몇개의 경로를 통과하는지에 비례한다. 가장 많은 정보가 지나가는 노드를 발견하는데 사용되는 지표는매개 중심성(Betweenness Centrality)이다.매개 중심성은 한 노드가 다른 노드들과의 연결망을 구축하는데 얼마나 도움을 주는지 측정하는 지표로 두가지 가정을 한다. (1) 정보의 흐름은 일정한 속도를 갖는다. (2) 정보는 가장 짧은 경로로 다닌다.
이때, 모든 짝의 노드들을 지나는 가장 짧은 경로를 찾는 알고리즘으로 Floyd-Warshall algorithm을 사용한다.
노드 I의 중요성이 아닌 임의의 X, Y 노드에 대해서 X-Y의 최단 경로에 노드 I가 포함되어 있는 횟수를 의미한다.