반응형

   str_split은  문자열과 패턴을  벡터화 하는 것으로,  문장에 있는 단어를 벡터 형태로 분리 하는 것이고,  str_replace는 특정 문자열과 패턴을 바꾸어 주는 기능 이며,  gsub는 특정 문자열과 패턴을 바꾸어 주는 기능으로써, str_replace와 기능은 거의 같다.  국내에서 일반적으로 용어를 나용할때,  문자열 나누기라고 한다. 

   아래의 내용은  현업 실무에서  어려운 문제에 봉착 했을 때,  푸는 문제이다.  즉 아래의 내역을 보고,  몇 톤인지 규격을 뽑아 내는 것을 응용하는 것인데,  형태소 분석기에서는 아래와 같은 기능을 지원 하지 않는다.   

 

1. 실전 문제  

오늘 풀어야 하는 과제,  아래에 어지럽게 널려 있는 문자 중에서  TON을 골라서 내시오. 

         "OVER HEAD CRANE(MAGNET) 25TON (C-512)",

         "MAGNET CRANE(SEMI) 2.8TON C-522",

         "25TON BLOCK LOADER (PBS 5BAY)",

         "2TON(3DS 뒷편 법면쪽)",

         "LIFTING MAGPOT DEVICE(2.5TON"

 그럼 위의 문자열에서  25TON,  2.8TON, 2TON을 각각 추출하여,  정리하고자 할 때,  어떻게  해야 할까?

    아래의 패키지를 사용 할것이다. 

      stringr :   문자열은 크게 눈에 띄는 구성은 아니지만,   데이터 정리 및 준비 작업에서  큰  역할을 한다.   이것은 해들리 위컴이  가능한 쉽게 문자열 작업을 할 수 있도록 설계된  것이다. 

     오늘은  str_split,  str_replace을 사용 할 것이다. 

  이것을 하면서,  정규화 표현식도 같이 정리 할 것이다. 

 

2. 데이터의 입력 

   데이터는 벡터 형태로 입력 한다.   향후 데이터 프레임을 만들어도 벡터를 묶어서 만들기 때문에 데이터 프레임 응용 할 때도 많이 쓰인다. 

 

library(stringr)

sentence <- c("OVER HEAD CRANE(MAGNET) 25TON (C-512)",
              "MAGNET CRANE(SEMI) 2.8TON C-522",
              "25TON BLOCK LOADER (PBS 5BAY)",
              "2TON(3DS 뒷편 법면쪽)",
              "LIFTING MAGPOT DEVICE(2.5TON)"
)

 

3. str_split 벡터화 실행

  문자열 패턴만 가지고 벡터화를 실행 하였을 경우에는 우리가 원하는 답이 나오지 않는다. 즉 TON 별로 데이터가 나누어지지 않는다. 

# TON을 데이터 정규화 표현식을 안하였을 경우    
mat<-  str_split(sentence, " ", simplify = TRUE )
mat
##      [,1]       [,2]          [,3]             [,4]    [,5]     
## [1,] "OVER"     "HEAD"        "CRANE(MAGNET)"  "25TON" "(C-512)"
## [2,] "MAGNET"   "CRANE(SEMI)" "2.8TON"         "C-522" ""       
## [3,] "25TON"    "BLOCK"       "LOADER"         "(PBS"  "5BAY)"  
## [4,] "2TON(3DS" "뒷편"        "법면쪽)"        ""      ""       
## [5,] "LIFTING"  "MAGPOT"      "DEVICE(2.5TON)" ""      ""

 

 여기에서 옵션 simplify =TRUE 하면 데이터 형태가 매트릭스로 바뀌고,  FALSE 로 하면 list 형태로 반환된다. 

 

4. 데이터 정규화 표현식 이용 특수문자 제거 

gsub를 이용하여, 특수문자 괄호를 제거하니,   데이터를 분리 할 수 있는 형태로 바뀌었다.  

 

# 정규화 표현식을 사용하여 특수문자를 제거한 경우 
sentence1  <- gsub("\\)", " ", sentence)
sentence1  <- gsub("\\(", " ", sentence1)
sentence1
## [1] "OVER HEAD CRANE MAGNET  25TON  C-512 "
## [2] "MAGNET CRANE SEMI  2.8TON C-522"      
## [3] "25TON BLOCK LOADER  PBS 5BAY "        
## [4] "2TON 3DS 뒷편 법면쪽 "                
## [5] "LIFTING MAGPOT DEVICE 2.5TON "

str_replace를 이용하여, 특수문자 괄호를 제거하여 보았다.  물론 앞에 것과 같은 결과가 나왔다. 

 

sentence1 <-  str_replace(sentence, "\\)", "")
sentence1 <-  str_replace(sentence1, "\\(", "")
sentence1
## [1] "OVER HEAD CRANEMAGNET 25TON (C-512)" "MAGNET CRANESEMI 2.8TON C-522"      
## [3] "25TON BLOCK LOADER PBS 5BAY"         "2TON3DS 뒷편 법면쪽"                
## [5] "LIFTING MAGPOT DEVICE2.5TON"

 

둘중에 어느것이 좋은지는 각자 판단 하는 것이 좋겠지만,  나는  코딩의 의 일관성을 위하여 str_replace() 함수를 사용할 것이다. 

 

5.  데이터 정규화 이후 벡터화 시행

   아래와 같이 TON이  정확하게 분리가 되었다. 

 

mat<-  str_split(sentence1, " ", simplify = TRUE )
mat
##      [,1]      [,2]     [,3]     [,4]     [,5]     [,6]    [,7] [,8]    [,9]
## [1,] "OVER"    "HEAD"   "CRANE"  "MAGNET" ""       "25TON" ""   "C-512" ""  
## [2,] "MAGNET"  "CRANE"  "SEMI"   ""       "2.8TON" "C-522" ""   ""      ""  
## [3,] "25TON"   "BLOCK"  "LOADER" ""       "PBS"    "5BAY"  ""   ""      ""  
## [4,] "2TON"    "3DS"    "뒷편"   "법면쪽" ""       ""      ""   ""      ""  
## [5,] "LIFTING" "MAGPOT" "DEVICE" "2.5TON" ""       ""      ""   ""      ""

6. 최종 정리  

  위의 내용을 함수로 만들어 정리 해 보겠다.   물론 gsub보다는 str_split로 정리 하겠다. 사용자 함수를 만들면 아주 간단하고,  재 사용 할 수 있다. 

 

library(stringr)

sentence <- c("OVER HEAD CRANE(MAGNET) 25TON (C-512)",
              "MAGNET CRANE(SEMI) 2.8TON C-522",
              "25TON BLOCK LOADER (PBS 5BAY)",
              "2TON(3DS 뒷편 법면쪽)",
              "LIFTING MAGPOT DEVICE(2.5TON)"
)   

# 사용자 함수 정리
vector_split_fun <- function(x){
  
  sentence1 <-  str_replace(x, "\\)", "")
  sentence1 <-  str_replace(sentence1, "\\(", "")
  
  mat <-str_split(sentence1, " ", simplify = TRUE )
  
  return(mat)
   
}

# 사용자 함수 실행 
vector_split_fun(sentence)
##      [,1]      [,2]        [,3]           [,4]    [,5]     
## [1,] "OVER"    "HEAD"      "CRANEMAGNET"  "25TON" "(C-512)"
## [2,] "MAGNET"  "CRANESEMI" "2.8TON"       "C-522" ""       
## [3,] "25TON"   "BLOCK"     "LOADER"       "PBS"   "5BAY"   
## [4,] "2TON3DS" "뒷편"      "법면쪽"       ""      ""       
## [5,] "LIFTING" "MAGPOT"    "DEVICE2.5TON" ""      ""
반응형
반응형

  산업에서는 데이터 과학자가 하는 일이 어떤 모습일까?  그것은 직위 수준에 달려 있기도 하고 인터넷/온라인 산업인지에 달려 있기도 하다. 

 

데이터 과학자의 역할이 IT산업에 국한될 필요는 없다 하지만 그곳에서  그 용어가 유래하였기 때문에 거기에서 그 용어가 어떤 의미인지 이야기해보자. 

 

최고위직의 데이터과학자는 회사의 데이터 전략을 세워야 한다.  거기에는 다음과 같은 다양한 역할이 포함된다.  데이터를 수집하고 기록하기 위한 공학과 인프라부터 프라이버시 문제 까지 어떤 데이터가 사용자 대면이고, 의사결정을 위한 데이터 어떻게 사용될 것인지,  그것이 어떻게 제품에 반영될 것인지에 이르는 모든 사항을 기획해야 한다.  그는 공학자, 과학자, 분석가로 구성된 팀을 관리해야 하고, 최고경영자 (CEO), 최고기술책임자(CTO), 제품 책임자 등 기업 내 다양한 리더들과 커뮤니케이션해야 한다.  또한 혁신적 솔루션의 특허를 신청하고, 연구 목표를 결정해야 한다. 

 

좀 더 일반적으로,  데이터 과학자는 데이터에서 의미를 뽑아내고 해석하는 방법을 아는 사람이다.  그러기 위해서는 인본주의적이어야 하고, 통계학과 기계학습의 도구와 방법 모두 알아야 한다그는 데이터를 수집하고 정제하고 변환하는 과정에 많은 시간을 보낸다.  데이터는 항상 깔끔하지 않기 때문다. 이 과정은 집념, 통계학, 소프트웨어공학 스킬을 요구한다.  이 스킬들은 또한 데이터에 내재된 편의(bias)를 이해하고 코드에서 생성된 결과를 디버깅하는데 필수적이다. 

 

일단 데이터를 다 매만지고 나면, 핵심 작업은 시각화와 데이터 감각을 포함한 탐색적 데이터 분석이다.  데이터과학자는 패턴을 발견하고, 모형을 만들며, 알고리즘을 고안한다.  이것은 제품 개선을 위한 프로토타입(prototype)으로 활용되며,  제품 용례, 제품의 전반적인 건강성을 이해하는데 도움을 준다.  또한 그는 실험을 설계하고 데이터 주도 의사 결정을 하는 데 있어 중요한 역할을 수행한다.  그는 명료한 해석과 시각화를 통해서 팀원, 공학자, 또는 리더와 커뮤니케이션해야 한다.  그렇게 함으로써 데이터 자체에 관여하지 않는 동료들도 데이터에 담긴 뜻을 이해할 수 있을 것이다. 

 

   위의 내용은 상당히 현실적이다.  컬럼비아 대학교 교제인데,   내용이 상당히 현실 적이다.  마치 현업에서 업무를 한 사람과 같이 이야기 하고 있다.   우리나라에서는 프라이버시 문제는  노조 인권과 관련이 있고,  산업에서도 인문학이 중요하다는 이야기 하였다.   그리고  데이터가 수집하고 정제하는 과정에 시간이 많이 걸린다는 것 또한 굉장히 현실 적이다.     탐색적 분석은 다른 사람들과 공유하는데, 중요한 가치를 제공하고,  의사 결정하는데 도움을 준다. 

 

#출처 : Doing Data Science 한빛미디어

 

반응형
반응형

   시계열 분석은 시간 순서대로 정렬된 데이터에서 의미 있는 요약과 통계정보를 추출하기 위한 노력이다. 과거 행동을 진단할 뿐만 아니라 미래 행동을 예측하기 위해 시계열 분석을 수행한다.  

 

1. 시계열 문제로서의 의학

   환자의 예후는 실적 의학에서 매우 중요하지만, 의학의 미래를 예측하는 수학적인 사고는 생각보다 늦게 사용되기 시작했다.   그 이유는   통계 및 확률로 나타내는 것을 최근의 일이고,  이러한 학문들은 의료 기술이 발달하였을 때도 수세기 동안 사용할 수 없었고,   환자나 인구 집단 건강을 위한 공식적인 기록을 유지하는 기반 시설이 없었다.  

 

그러나 놀랍게도  환자나 인구 집단 건강을 위한 기록을 한 사람은  17세기 런던의 바느질 도구 판매상이었던 존 그란트이다.  그는 1500년대 초반부터 런던 교외에 보관되어 있던 사망 기록에 대한 연구를 시작했고,  이 과정에서 인구 통계학을 만들었다.   그리고 1662년에 "Natural and Political Observations Made upon the Bills of Morality"라는 책을 출간한다. 

 

시계열 사고를 적용한 첫번째 결과물 존 그란트의 사망표

   이 책에서 제시하는 생명표는 특정 연령대에 있는 사람이 다음 생일 전에 사망할 확률을 의미한다. 그란트는 최초로 생명표를 공식화하여 공표했을 뿐만 아니라, 처음으로 사람의 건강을 문서에 기록한 통계학자이다. 

 

하지만 그란트의 사람 생존에 관한 수학적 사고는 받아 들여지지 않았다.  그 이후 영국의 과학자 애드먼드 핼리가 1693년에 연령별 사망률 일람표인 '생명표'를 정리해 발표 했다.  그것은 보험을 산출하기 위한 근거로 쓰였다. 

 

 하지만,  의학계에서는 통계한 보다는 생리학에 지속적으로 집중하였다. 

  • 생리학과 해부학에 관한 연구는 의학의 주된 진보를 이끌었다.  과학자뿐만 아니라,  대부분 사람은 가능한 한 오랫동안 안정적으로 적용할 수 있는 연구를 선호하였다. 
  • 의사를 위한 보고 기반 체계가 미비해 많은 정보를 공유하고 이를 표로 만드는 것이 어려워서  통계적 방법이 임상적인 관찰보다 우월하다는 정보량이 부족했다. 

시계열 분석이 주류 의학에 도입된 시기는 통계 및 데이터 분석이 다른 분야에 도입된 시기보다 훨씬 늦다.  시계열 분석이 복잡한 기록 관리 시스템을 요구하기 때문이다.  기록은 시간의 흐름에 따라 서로 연결된 형태여야 하고,  되도록 규칙적인 간격으로 수집되어야 한다.  이러한 이유로 정부와 과학 기반 시설이 긴 시간 동안 기록된 질 좋은 데이터를 보장하는 최근에 와서야 역학 시계열을 적용하는 움직임이 점진적으로 나타나기 시작했다. 

 

 

2. 의료기구

  환자에 대한 시계열 분석은 인구 차원의 건강 연구보다 훨씬 일찍 시작되었으며, 성공적인 역사를 지닌다.  의학에서 시계열 분석은 실용적인 심전도(ECG)가 처음으로 발명된 1901년부터 가능했다.  심전도는 심장에 흘려보낸 전기신호를 기록해 심장의 상태를 진단하는 기술이다.   또 다른 시계열 기기는 1924년 의학계 소개된 뇌전도(EEG)로, 비 침습적으로 두뇌의 전기 임펄스를 측정한다.  이런 기기들은 의료 종사자에게 시계열 분석을 의료 진단에 적용할 수 있는 기회를 더 제공했다. 

1877년 의학박사 오거스티스 D 윌러가발포한 논문 ECG  기록
1924년 처음으로 기록된 사람의 EEG

 이 두 시계열 기기는 2차 산업혁명이 창출한 기술로 생겨난 향상된 의학이라는 큰 흐름의 일부에 불과했다.   ECG와 EEG라는 시계열을 분류하는 기법은 갑작스러운 심장 문제나 발작을 측정하는 등 매우 실용적인 목적을 위해 활발히 연구되고 있다.  이런 측정은 풍부한 데이터의 원천이 되지만, 특정 질병을 가진 환자에게만 적용할 수 있다는 한 가지 문제가 있었다.  ECG나 EEG와 같은 장비들은 오랜 시간에 걸쳐 기록된 시계열 데이터를 생성하지 못한다.  환자에게 질병이 나타나기 직전에 대한 측정이나 장기적인 측정이 이루어지는 겨우는 드물기 때문에 이런 기기들로  사람의 건강과 행동을 넓은 시각으로 이해하기 어렵다. 

 

 데이터 분석의 관점에서 볼 때  현재는  웨어러블 센서와 스마트한 전자 의학 기기의 출현은 건강한 많은 사람이 자동 또는 최소한의 입력만으로도 일상생활에서 자신의 건강상태를 측정하게 되었다.   헬스케이 및 시계열 분석 모두, 급증하는 현대의 헬스케어 데이터셋과 헬스케어 부분의 수익성 좋은 데이터셋 덕분에 진전을 이룰 가능성이 높다.  시계열은 어떤 형태 로드  인류에게 이득을 주고 발전하고 있다. 

 

※ 실적 시계열 분석  한빛출판네트워크

반응형
반응형

  한국인은 몇세에 사망할까?

   아래 그래프는 한국인 사망률 그래프이다.  사망률은 어떤 연령의 사람들 집단 가운데 그 해에 사망하는 사람의 비율을 말한다.   예컨데 2019년 30세 사람들의 사망률은 30~34세 사이에 사망한 사람의 수를 30세 시점의 생존지수를 나누면 0.283%가 된다.  

 

 2019년 사망률은 갓 태어날 무렵에 높지만,  7세 ~ 10세 무렵까지는 계속 낮아진다. 그 후에는 나이를 먹음에 따라 계속 높아 진다. 

 

2019년 한국인 사망률

 

   위의 왼쪽 그래프를 보면 log를 취한 것이다.   log를 취하면,  작은 숫자들을 볼수 있다.   오른쪽 그래프는 원데이터 가지고 그린것이다.    작은 숫자는  log를 취하여야만,  패턴을 볼 수 있다.  

 

 

현대의 보험산업은

    막대한 데이터와 통계학으로 뒷받침 되는 분야 중 하나이다.   원시적인 보험은 통계학이 탄생하기 전부터 존재 했다. 만약 큰 질별이 걸리거나 사고를 당하면 큰돈이 필요해진다.  그리고 만약 젊어서 죽으면 남은 가족의 생활이 곤란해진다. 이러한 생각에서 여러 사람이 돈을 서로 내어 적립해 두고,  불행을 당한 사람이나 그 가족에게 모인 돈을 지불한다는 약속이 세계각지에서 이루어 졌다. 

 

그러나 메커니즘에는 문제가 있었다.  만약 약속한 구성원 중에 젊은 사람과 장년 남성이 섞여 있는 경우,  장년 남성이 질별에 걸리거나 사망하는 경우가 많다는 사실이 경험적으로 밝혀 졌다.  그런데,  서로 내는 돈이 전원이 같은 액수라면 불공평하다.   이런 경우에 돈을 얼마씩 내면 평등해지는지를 알지 못했던 것이다.  누구라도 납득할 만한 지불액 계산 방법이 없었으므로 현재와 같은 보험산업은 존재 하지 않았다. 

 

  현대의 보험으로 연결되는 발견이 나오기까지는 17세기까지 기다리지 않으면 안되었다.  1662년 영국의 상인 존그랜트가 런던의 사망자수를 정리해 발표함으로써,  사람들의 일생을 큰 집단으로 보면 여러가지 규칙성이 있음을 처음으로 보여 주었다. 

 

  그 후 핼리 혜성으로 이름을 남김 영국의 과학자 애드먼드 핼리가 1693년에 연령별 사망률 일람표인 '생명표'를 정리해 발표 했다. 그것에 의해 사람이 나이를 먹음에 따라 사망자 수가 어느 정도 늘어나는지를 추정할 수 있음을 밝혀 냈다.  또 '어떤 연령의 사람들이 1년 이내에 사망하는 비율(사망률)'을 연령별로 큰 집단으로 보았을 때  매년 거의 일정하다는 점이 널리 알려지게 되었다. 

 

통계 데이터에 근거한 보험은 핼리의 성과에서 비롯된 것이다. 

 

참고자료 : 뉴턴 하일라이트 통계와 확률의 원리 

반응형
반응형

  진검승부의 스포츠 세계에서 승부 조작은 용납되지 않는다.  그러나 프로선수가 경기 중에 최선을 다하지 않고 승부조작을 한 경우와, 우연히 컨디션이 나빴던 경우를 구별 하기는 매우 어렵다. 

 

  그런데 미국의 경제 학자인 시카고 대학교수 스티븐 레빗(Steven Levitt) 박사는 1989~2000년의  일본 씨름(스모) 대회 승패 데이터를 보고 일부의 경기에서 승부가 조작되었을 가능성을 시사 하는 충격적인 논문을 발표 했다. 

씨름 경기의 결과

각 승수별 성적에 주목

  단, 박사의 분석에서 어떤 경기가 승부조작이었는지를 구체적으로 보여 주는 분석은 없다. 

 

레빗 박사는 각 승수별 선수들의 성적에 주목했다.  만약 모든 씨름꾼이 같은 실력이라면, 각 선수들이 경기에서 승리한 경기의 수(승수)는 아래 푸른색 산 모양곡선 (이항 분포)를 그린다.  즉 7승 8패나 9승 7패인 씨름꾼이 가장 많고 전승(=우승)하는 씨름꾼이나 전패 하는 씨룸꾼은 좀처럼 나오지 않을 것이다. 

 

  그런데 실제의 승수(붉은색 꺽은선)를 보면 거의 이항 분포와 일치 하지만, 7승8패인 씨름꾼이 근단적으로 적고, 8승 7패인 씨름꾼이 극단적으로 많음을 알 수 있다.  이런 사실로 부터 레빗 박사는 이미 8승 이상을 기록한 선수들이, 8승 바로 아래 성적을 기록 중인 선수들에게 일부러 져 주었을 가능성을 지적했다.  왜냐하면 일본 씨름꾼의 승격이 8승을 기준으로 결정되기 때문이다. 

 

  이런 분석이 승부 조작의 증거가 되지 않는다.  예상 밖의 결과가 나와 대전 결과가 이항 분포에 어긋났을 가능성도 있다.  하지만 이런 분석은 경기 결과를 이상하다고 보고 좀 더 자세히 조사하는 포인트를 경정하는 계기가 된다. 

 

  스포츠에서 정규분포를 이용한 승부 조작의 분석은 미국의 프로농구 등에서도 이루어지고 있다. 

 

참고서적 :  뉴턴 하일라이트  통계와 확률의 원리 

반응형
반응형

  정규 분포로 잘못 간파한 예에는 다음과 같은 것도 있다.  벨기에의 통계학자인 랑베프 케틀레(Lambert Quetelet, 1796~1874)는 프랑스군의 징병 검사 때 측정된 젊은 이들의 키에 대해 흥미로운 점이 있을을 알아 차렸다. 

 

일부 젊은이의 거짓말이 기록에 남았다. 

프랑스 징병 검사 추정한 젊은이들의 분포

 키의 분포를 보면 거의 정규 분포를 따르고 있어,  평균 전후의 키인 사람이 많고 극단적으로 키가 큰 사람과 반대로 키가 작은 사람은 적었다. 

 

  다만 157cm 전후 부분만은 정규 분포에서 벗어나 있었다.  157cm보다 약간 큰 사람이 적고 반대로 157cm보다 약간 작은 사람의 수가 극단적으로 많았던 것이다. 

 

  그 이유를 케틀레는 다음과 같이 추측했다.  당시 프랑스군은 키 157cm 이상인 젊은이를 징병했다.  그래서 157cm 보다 약간 큰 젊은이들 가운데 징병에서 빠지려는 사람들이 키를 작게 속인 것이다.  그 결과 정규 분포가 무너져 157cm를 웃도는 사람은 실제보다 적고, 157cm 이하인 사람은 실제보다 많이 기록된 것이다. 

 

인간을 원자로 보는 '사회 물리학'

 케틀레는 왜 이런 일에 관심을 가졌을까?  사실 케틀레는 인간 집단의 활동을 기록한 데이터를 분석함으로써 '사회의 법칙'을 이끌어 내기 위해 여러가지 데이터를 조사했다.  예컨데 물리학은 무수한 원자의 움직임으로 다양한 현상을 설명할 수 있다. 케틀레는 물리학에 따라 인간을 원자로 보고 사회의 움직임을 설명하는 이론을 세우려고 한 것이다. 

 

그 대상은 범죄 발생건수, 사망률, 근력, 남녀의 출생비 등 여러 종류에 이르렀다.  당시 키에 관계없이 비만을 나타내는 수치로 케틀레가 제창한 BMI는 현재도 비만의 지표로 사용되고 있다. 

 

  케틀레가 제창한 '사회 물리학'은 큰 반향을 불러 일으켜 여러 가지 데이터를 다루는 통계학의 발전으로도 이어 졌다. 그래서 케틀레는 현재 '근대 통계학의 아버지'라고 불린다. 

 

 

참고자료 :  뉴턴 하일라이트 통계와 확률의 원리

반응형
반응형

고위험. 고수익이란

   수익에 있어서 변화율이 같고 위험성이 다른 두 가지 주식이 있다면 투자자는 반드시 위험성이 낮은 주식을 구매한다. 또 위험성이 같고 평균 변화율이 다른 주식이 있으면 반드시 평균 변화율이 높은 주식을 산다. 

 

  이처럼 주식이 팔려 나가면 주식시장에는 '변화율이 높고 위험성도 높은 주식(고위험.고수익주식)과 '변화율이 낮고 위험성도 낮은 주식(저위험. 저수익 주식)'이 남는다. 

 

주식의 상관관계

 

 

 그 결과 주식이나 그와 비슷한 투자 상품의 평균 변화율과 위험성은 위 그래프와 같은 양(+)의 관계가 된다고 알려져 있다. 고위험/고수익의 주식은 평균 변화율이 높고 높은 이익이 예상되지만, 주가의 변동이 크므로 손해 볼 가능성도 높은 주식이다. 

한편  저위험/저수익 주식은 평균변화율이 낮고 이익밖에 기대되지 않지만, 손해를 볼 가능성이 비교적 적은 주식이다.  앞으로 어떤 주식을 구매할지는 투자자의 판단에 달려 있다. '반드시 이익이 남준 주식'이란 없으며 어떤 주식을 사도 손해를 볼 위험성은 항상 존재한다. 

 

  다만 이 위험성을 낮출 방법은 있다.  1952년 경제학부 대학원생이던 해리 마코위츠 (Harry Markowitz)는 복수의 주식을 조합시켜 위험을 억제하면서 변화율을 높이는 '포토 폴리오 이론'을 발표했다.  마코위츠는 이 업적으로 1990년에 노벨 경제학상을 받았다. 

 

주식의 변동은 정규 분포를 따르지 않는다. 

  어떤 주식이든지 주가가 하락해 손해가 날 가능성이 있다.  그리고 투자자에게 가장 두려운 일은 주가가 대 폭락하는 것이다.  언제 폭락할지를 예측할 수는 없지만, 그나마 어느 정도의 비율로 일어날지는 알 수 있을 것이다. 

만약 주가 변동이 정규 분포를 따른다면 평균에서 표준편차 3개월분을 넘는 현상은 0.27%밖에 일어나지 않는다.  표준편차 5개월분의 '대폭락'이라 '대폭등'이 일어날 확률은 불과 0.00006%이다. 

  그러나 안타깝게도 주가 변동은 정규분포를 따르지 않는다.  분포의 형태는 정규 분포와 비슷한 산 모양이지만, 정규 분포에 비해 산 좌우의 '경사진' 부분이 그다지 작지 않다.  즉 표준편차 5개분 이상의 대변동도 일어날 확률이 높은 것이다.   만약 변화율이 정규 분포를 따른 다면, 1만 년이 지나도 일어나지 않을 정도의 대폭락이 과거 100년 동안 몇 차례나 일어났던 것이다.  

  통계학은 평균이나 표준편차, 포토폴리오 이론에 의해 위험성을 낮추는 방법을 알려준다. 하지만 확실한 이익을 보장하지 않는다. 

 

참고자료 Newton Highlight 88   기본원리와 응용 사례 30  통계와 확률의 원리 

반응형
반응형

'변화율의 표준편차'로 위험을 안다.

 

주식의 위험 표준편차

 변화율을 사용하면 주식을 비교하기 쉬워진다.   단 변화율에만 주목하는 것은 위험하다. 

 

아래의 예를 살펴보자

 

' 주식의 변화율이 1년에 5%인 두 종류의 A 주와 B주가 있다.① 

단 A 주의 변화율의 표준편차는 2% B주의 변화율의 표준편차는 10%이다. ② '

 

A와 B 어느 주식을 살 것인가? 우선  ①은 예컨데 100만 원의 주식을 산다면 어떤 것이든 1년 후에 105만원의 값이 오르고 그 시점에 매각하면 5만 원의 이익을 기대할 수 있다는 의미이다.  ①만 보아도 A와 B는 비슷한 주식으로 보인다. 

 

②의 '변화율의 표준편차'란 '실제 변화율의 값이  주위에 어느정도 범위에 흩어져 있는가?를 나타낸다. 즉 'A주의 변화율 표준편차는 2%라는 것은 '주가는 평균 변화율인 5% 중심으로 해서 위아래 2% 범위에서 변동하는 경우가 많다.'라는 것을 의미한다.  A 주는 3~7% 에서 변동하는 경우가 많으며,  또 드물게 1% 나  9%의  변화율이 되는 경우도 있다. 

 

마찬가지로 생각하면 'B주의 변화율의 표준편차 10%'란 B주는 -5~15%의 범위에서 변동하는 경우가 많고 이 범위를 넘어서 -15%나 25%의 변화율이 되는 경우도 드물게 있다는 의미이다.  즉 B 주는 15%나 오를 가능성이 있는 반면  변화율이 마이너스가 되는 (손해를 보는) 경우도 각오해야 한다. 

 

  이런한 '주가의 변화율의 표준 편차'를 '위험성'이나 '주가 변동성'이라고 한다.  그리고 B 주처럼 좋은 쪽으로나 나쁜 쪽으로 주가가 크게 변동할 가능성이 있는 주식을 '고위험 주식'이라 한다. 

 

주식 A와 주식 B는 평균 편화율이 모두 5%로 예상 수익은 같지만, 주식 B가 고위험 주식이다.  그렇기 때문에 위험성이 낮은 주식 A를 고르는 것이 현명한 셈이다.  이 처럼 표준편차는 주식의 위험성을 측정하는 중요한 지표가 된다. 

 

참고자료 Newton Highlight 88   기본원리와 응용 사례 30  통계와 확률의 원리 

반응형

+ Recent posts