내가 게임이론을 접하기전엔 게임이론은 무슨 도박에서나 쓰이는 이론이라고 생각을 했다. 그러나 그렇다기 보다는 여러 산업에 적용될 수 있는 아주 재미있는 경제학의 이론이였다는 것이다. 이것은 반도체 산업에 아주 잘 적용될 수 있고 가격 경쟁산업에 잘 적용될 수 있다고 한다. 신문값, 항공료 등등...
알아두면 재미도 있고 언제가는 써먹을 수 있는 이론일 것 같아서 간단한 이론적 설명을 예로서 설명해둔다.

다음과 같은 Pay-off 테이블이 있다. 이것을 설명하면 B 발전소가 먼저 A 석유화학에 전량구매(Buy all)을 먼저 제안했다고 하자 그렇다면 A석유화학은
Prompt Delivery을 한다면 얻을 수 있는 수익이 3이고 Slow Delivery를 하는 경우는 4임을 의미한다.  A 석유화학이 먼저 Prompt Delivery을 제안한다면 B 발전소는 Buy all을 할경우는 2를, Buy part를 선택할 경우는 1을 얻을 수 있다. 나머지들도 같은 방법으로 해석할 수 있다. 이것이 바로 Pay-off Matrix 이다.

A 석유화학  
B 발전소 Prompt Delivery Slow Delivery
Buy all 2, 3 -5, 4
Buy part 1, 1 -1, 2 

그렇다면 여기서 누가 dominant strategy를 갖고 있을까? 그리고 Nash 균형은 어디에서 이루어 질까 한 번 살펴보자.

1. 누가 dominant strategy 를 가지고 있는가?

먼저 dominant strategy를 찾아 보자. 이것은  쉽게 말하자면 상대가 어떤 전략을 가지고 나오든 무조건 내가 선택한 옵션중 한쪽이 무조건 유리하게 되는 조건이다. 그렇다면 여기에서 그런 조건이 있는지 찾아보자.
우선 B발전소입장에서 A 석유화학이 Prompt Delivery를 제안한다면 이 발전소는 Buy all 전략(2>1)을 택할 것이다. 그리고 A석유화학이 Slow Delivery를 제안한다면 Buy part 전략(-5<-1) 를 택할 것이다. 따라서 B 발전소는 Dominant한 전략이 없다고 할 수 있다.
그렇다면 A 석유화학은 어떤까? B발전소가 Buy all 를 제안하면   Slow Delivery 전략(3<4) 를 택할 것이고 Buy part를 제안하면 역시나 Slow Delivery 전략(1<2)) 를 택할것이다.
따라서 A 석유화학은 Dominant 전략으로 Slow Delivery 전략을 가지고 있다고 할 수 있다.

2. 내쉬 균형 (Nash equilibrium)

내쉬 균형은 누구든 현재의 위치에서 움직이면 손해가 나는 지점이다. 위의 표에서는 일단 A석유화학이 Dominant 전략으로 Slow Delivery 전략을 가지고 있기 때문에 B 발전소는 손해가 덜 나는 Buy  part전략(-1>-5)를 선택할 수 밖에 없고 이것이 바로 내쉬균형점이다.  즉, (BuyPart, Slow Delivery) 인 payoff  (-1,2) 위치가 내쉬 균형점이 된다.

3. 게임이론을 이해할때 필요한 용어 및 전제 

>
Understand the strategic situation
> Your competitor is just as smart as you are, and you must consider responses
> Nash Equilibrium: Each player is doing the best they can, given the choices of all the other players
>Dominant Strategy: A choice which is best for each choice by other players

Posted by wishart
,

맥니마 검정은 개의 변수가 paired 되어 있을때 사용할 있는 테스트로 우리가 흔히 접하는 카이스퀘어의 독립성검정이나 적합성 검정법과는 다르다. 검정법은 의학통계나 사회과학에서 많이 사용되고 있다.

우리가 흔히 범할 있는 오류로 변수가 합께 쌍을 이루고(독립이 아니다) 있음에도 불구하고 일반적인 카이스궤어 검정을 하면 통계적으로 매우 유의하게 나올 있는 상황에서도 유의하지 않다고 나오는 경우가 많다.  따라서 데이타의 성질을 제대로 파악하고 통계방법론을 적용해야 한다.

아래 테이블은 2개의 paired변수가 다음과 같이 있을때 실제 테스트 하고자 하려는 목적은 이들의 독립성이 아니라 확률 (0,1) (1,0)의 확률값이 같은지를 테스트를 하고자 한다.

Yi = 0

Yi = 1


Xi = 0

a

b

Xi = 1

c

d


맥니마 검정(McNemar test) 다음과 같은 가정을 한다.

1.     (Xi,Yi) 는 상호 독립이다.

2.    각각의 Xi  Yi 는 두개의 가능한 결과를 갖는다. 0 아니면 1의 카테고리 값을 갖는다.

3.    차이값= P(Xi = 0, Yi = 1) - P(Xi = 1, Yi = 0) 귀무가설에서 0 놓고 테스트 하는 것이 결국은 어떤 실험전후의 테스트 혹은 기존의 방법과 새로운 방법론 사이에 대한 차이값이 있는지 없는지를 테스트 하는 결과가 된다.

 

여기서 P1 = P(Xi = 0, Yi = 1) , P2 = P(Xi = 1, Yi = 0) 이라고 한다면 맥니마 검정은 다음과 같이 놓을 수 있다.

H0:

P1 = P2       for all i

Ha:

P1 ≠ P2       for all i

Test Statistic:

If b + c > 20,

T1 = (b - c)2/(b + c)

If b + c ≤ 20,

T2 = b

수정된 검정통계량T1:

T1' = (|b - c| - 1)2/(b + c)

Significance Level:

Critical Region:

T1 >

그렇다면 실제 데이타를 분석함으로써 이것이 일반적인 카이스퀘어 검정과 어떻게 다른지 완벽하게 이해를 해보도록 하자.

예제 1> 아래와 같이 유세 전후 정당의 지지도의 변화율을 알아보고자 한다. 이때 조사한 사람들은 결국 유세전후 같은 사람들을 대상으로 조사를 해야한다. 그래야 아래와 같은 표를 얻고 우리가 테스트 하려고 하는 가설은 다음과 같다.

 

유세후

 

 

유세전

A 정당

B 정당

A 정당

40(p11)

20(p12)

60(P1.)

B 정당

10(p21)

30(22)

40

50(P.1)

50(P.2)

100

 

H0: 유세전 A정당의 지지도는 유세후 B 정당의 지지도와 같다. 이것은 유세전 B정당의 지지도는 유세후 B정당의 지지도와 같다.

이것을 수식으로 나타내면

p11+p12=p11+p21---(1)

P21+p22=p12+p22---(2)

(1), (2) 방정식을 풀면 결국 p12=p21 된다. 따라서 가설을 다음과 같이 있다.

H0: p12=p21

이것은 결국 지지율에 변화가 생긴사람들( A->B, 혹은 B->A ) 변화율이 차이가 많으냐 아니냐를 테스트 하는 의미가 된다. 그리고 이때 검정 통계량은 다음과 같다.

X^2=[n12-(n12+n21)/2]^2/[(n12+n21)/2]+[n21-(n12+n21)/2]^2/[(n12+n21)/2]

      =(n12-n21)^2/(n12+n21)

따라서 가설을 검정하면 다음과 같은 결과를 얻는다.

X^2=(20-10)^2/30=3.333 < X^2 ,0.05 = 3.84

유세전후 지지율 차이는 없다고 있다.

예제2> Vianna, Greenwald, and Davies(1971) Hodgkin's 질병을 앓고 있는 환자들을 조사하였다. 그리고  Tosillectomy 면역력을 떨어뜨려Hodgkin's 질병을 유발한다는 것을 밝혀내려고 아래와 같은 데이타를 조사하였다.  그리고 이들은 카이제곱검정을 통하여 Chi-square statistics = 14.26 으로 확실히 유의하다는 결론을 얻었다.

 

Tosillectomy 유무

 

 

 

Tosillectomy

No Tonsillectomy

Hodgkin's

67

34

101

Control

43

64

107

110

98

208

 

그리고 Johnson and Johnson (1972) 85명의Hodgkin's 질병을 앓은 환자의 5살 차이이내의 성별이 같은 형제들을 조사여 다음과 같은 결과를 얻었다.

 

Tosillectomy 유무

 

 

 

Tosillectomy

No Tonsillectomy

Hodgkin's

41

44

85

Control

33

52

85

74

96

170

그리고 이들은 Chi-statistics=1.53 얻어Hodgkin'sTosillectomy와 아무런 관련이 없다는 결론을 얻었다. 그러나 얼마후 많은 사람들이 문제를 제기하였다. 왜냐하면 형제와 환자간은 독립이 아니기 때문에 이렇게 분석을 하면 안된다는 것이 었다.

그리고 이들은 위에서 설명한 맥니마 검정법을 제시하였다.

 

Sibling

 

 

Patient

Tosillectomy

No Tonsillectomy

Hodgkin's

37

7

44

Control

15

26

41

52

33

85

 

이것은 X^2 = 2.91 P_value=0.09 Johnson and Johnson 결과에 상당한 의문을 갖게 하는 결론을 얻었다.

이렇게 맥니마 검정에 대한 설명을 마침니다.

Posted by wishart
,
소프트웽에 회사들의 재무분석을 해보는 것은 산업분석에서 아주 흥미로운 일이 될 것이다.
아래는 미국에 주요 소프트웨어 회사의 재무 분석을 해본 것인다.

여기서 아주 잼있는 것은 애플이 겨우 R&D에 전체 매출에서 3% 정도 밖에 투자를 하지 않는다는 것이다. 이것은 세상에서 가장 혁신적인 회사로 알려진 애플이 R&D에 이렇게 인색하다는 것이 믿겨 지지 않을 따름이다. 왜 그런 것일까? 제조업체라서 워낙 제품의 생산단가가 높은 탓이려니 생각을 해도 너무나 적은 수치이다.
왜 이렇게 적은 것일까? 혁신에 필요한 것이 연구개발이 아니라 다른 무엇이 있는 것일까?
참 의문이 많이 가는 대목인데...아직 답을 찾지는 못했다.

참고로 삼성전자의 R&D 비중은 매출액의 8.1%인 7조2721을 2009년 집계 되었고 2010년은 이보다 1% 정도 줄어든 7%대정도 인 것으로 분석된다.

아래 표에는 분석되지 않았으나 삼성전자의 2010년 영업이익률과 순이익율은 10.97%, 11.79%이다. 이것도 이전에 비해서 거의 2배이상 성장한 것인데 미국의 회사들은 보통 영업이익률이 많게는 30% 이상을 기록하고 적게는 20% 웃도는 정도가 된다. 세이즈포스닷컴은 아마도 대행영업비용을 상당히 많이 지불해서 영업이익률이 떨어진 듯 보인다.


Firm Op. Profit Gross Margin Market Cap x Sales / Person Sales/ R&D  % Prof.
Current Sales Mktg/ % Services
Rev Growth  vs G&A %    
Prior Year      
Microsoft 38% 80%  4x                7% $  723K 27% 14% 5%
Google 35% 60%  8x                8% $1200K 16% 13% nil
Oracle 34% 64%  6x              15% $  257K 22% 12% 11%
Infosys 30% 45%  8x                4% $    53K 11% 2% 96%
Apple 28% 39%  5x              52% $1300K 8% 3% nil
SAP 24% 67%  4x              -8% $  300K 26% 15% 26%
IBM 19% 46%  2x              -9% $  240K 19% 6% 58%
Salesforce 9% 80% 15x            21% $  325K 46% 15% 7%
LinkedIn 6% 81% ?                100% $  220K? 39% 27% nil
(est.)

위의 표에서 보면 아직 마이크로소프트는 아주 건재하다는 생각이 들고 구글은 대단하다고 밖에는 생각이 안된다. 그렇다면 이런 재무적인 퍼포먼스를 내기 위해서 어떤 소프트웨어 전략이 필요한지 궁금해진다.

그것은 아마도 과거 product 중심에서 서비스로서의 소프트웨어로의 전환이 아닐까 생각한다. 즉, up front 에서 한방에 팔아 돈을 버는 구조에서 운영과 업그레이드를 통한 서비스 비용을 부과하면서 지속적으로 자사의 제품에 고객을 lock-in 시키고 recurring 매출을 하는 구조말이다.

거기에 자사 서비스의 플랫폼화가 주요 특징이라 여겨진다. SAP, Oracle, 구글. 세이즈포스닷컴 같은 회사들은 일찍이 이런 비지니스모델의 변화 트렌드를 일고 일찌감치 자사의 플랫폼을 일정정도를 오픈하고 여러 소프트웨어 회사들이 자사의 플랫폼에 들어올 수 있도록 유도하였다.

그리고 거대한 비지니스 생태계를 구성했다.
아마도 이런 트렌드는 앞으로 클라우딩 서비스 개념으로 더욱 진화하면서 소프트웨어 비지니스 전반을 바꾸게 될 것이다. 그렇게 보면 인포시스와 같이 서비스가 늘어나면 인력을 늘려나가야 하는 구조는 미래에 불리한 비지니스가 될런지 모른다.
참고로 저는 인포시스가 인도회사이면서 미국에서 성공한 대표적 회사라는 것을 몰랐다는...ㅋㅎㅎ
Posted by wishart
,
T test 는 가장 기본이면서 쉬운 검정법이지만 시간이 지나면 항상 가물 가물해지면서 사뭇 헛갈리는 경향이 있는 통계의 중요한 부분이다.

이게 시간이 지나면서 헛갈리는 이유는 복잡한 분산공식때문이기도 한데 웹상에 한 번 잘 정리가 된다면 앞으로 쉽게 기억하고 문제 해결을 할 수 있지 않을까 하는 생각에서 정리를 해보았다.
T 검정은 단일그룹검정, 쌍별비교검정, 서로다른 두 그룹에 대한 테스트 이렇게 3개로 나눠 볼 수있는데 ,먼저 단일그룹부터 하나 하나 살펴보도록 하겠다.

아래 데이타는 A 그룹과 B 그룹의 각각의 값을 나타낸다. 이것은 원래 paired 된 데이타인데 분석 방법을 설명하기 위해서 경우에 따라서 분리해서 분석할 것이다.

A 그룹 B 그룹 차이(dif)
97.2 97.2 0
105.8 97.8 8
99.5 96.2 3.3
100 101.8 -1.8
93.8 88 5.8
79.2 74 5.2
72 75 -3
72 67.5 4.5
69.5 65.8 3.7
20.5 21.2 -0.7
95.2 94.8 0.4
90.8 95.8 -5
96.2 98 -1.8
96.2 99 -2.8
91 100.2 -9.2


1. 단일그룹 T 검정법

여기서 "H0: 그룹 A의 평균은 85이다" 를 T검정을 해보자. 어떻게 SAS 명령어를 써야 할까? 이것은 간단하다.

proc ttest data=kkk H0=85;
    
var a;run;

단지 데이타셋 명에 옵션을 H0=85 라고 주면 된다. 그렇게 하면 아래와 같은 결과값을 얻는다.

DF t Value Pr > |t|

14 0.05 0.9628

즉 p value=0.9628로 H0를 기각할 수 없다.

2. 쌍별비교(paired T test)

A와 B 그룹이 각각 쌍을 이루고 있다고 하자. 가령 실험전후 몸무게나 키 같은 것이라고 생각해보자.
그렇다면 이때 T검정은 결국은 전후의 차이가 있는냐 없느냐가 될 것이다. 따라서 전후의 차이(A-B)의 합이 0이냐 혹은 아니냐의 검정이 된다.
이것은 서로를 위의 표에서 처럼 차이를 구한다음 이 차이가 0인지를 검정하는 단일그룹 T 검정법을 사용하는 것과 마찬가지인데 SAS에서는 이렇게 차이를 구하지 않고 서도 T 검정을 하는 옵션이 있다.
그 옵션은 다음과 같은 명령어를 사용하면 된다.

proc ttest data=kkk ;
    
paired a*b ;run;

                                          Variable:  diff

 

                    N        Mean     Std Dev     Std Err     Minimum     Maximum

                   15      0.4400      4.6308      1.1957     -9.2000      8.0000

 

                      Mean       95% CL Mean        Std Dev      95% CL Std Dev

                    0.4400     -2.1244   3.0044      4.6308      3.3903   7.3032

 

                                       DF    t Value    Pr > |t|

                                       14       0.37      0.7184

자유도 14를 갖고 T통계량 0.37를 갖으면 P-value=0.7184이다. 즉 H0를 기각할 수 없다.

아래처럼 명령어를 주면 두 변수의 차이 diff의 분포를 보여준다. 이것을 보면 대충 이게 유의할지 않할지 짐작할 수 있도록 해준다. univariate 는 diff가 0인지 정규근사를 통해서 검정을 해준다. 즉 아래 명령어는 T검정이 맞는지를 더블체크할 수 있는 대략의 감을 준다고 보면된다.

proc univariate data=kkk;
    
var diff ;
     
histogram diff /kernel;run;


* 단일그룹 T검정과 쌍별비교(paired T test)을 위해서 데이타 셋은 다음과 같이 입력되어야 한다.

data
kkk;
input A B diff @@;
cards;
97.2 97.2 0
105.8 97.8 8
99.5 96.2 3.3
100 101.8 -1.8
93.8 88 5.8
79.2 74 5.2
72 75 -3
72 67.5 4.5
69.5 65.8 3.7
20.5 21.2 -0.7
95.2 94.8 0.4
90.8 95.8 -5
96.2 98 -1.8
96.2 99 -2.8
91 100.2 -9.2
;
run;

3. 서로다른 두 그룹의 평균비교

A, B 그룹이 서로 다른 그룹에서 나온 데이타라고 가정해보자. 가령 제주도 사람의 평균키와 서울 사람의 평균키를 비교하는 예라고 하자. 이런 경우는 SAS에서 class라는 명령어를 준다. 그리고 데이타 입력방법도 달라진다. 맨아래 데이타입력하는 방법을 넣었다. 또한 결과 해석을 할때도 두 그룹의 분산이 같은지 다른지에 따라서 T 통계량 값이 다르게되므로 반드시 먼저 분산이 같은지 테스트 결과를 본 다음 T통계량을 봐야 한다.
proc ttest ;class method;var dosage;run;

   method        Method               Mean       95% CL Mean        Std Dev      95% CL Std Dev

   A                               85.2600     73.5220  96.9980     21.1961     15.5182  33.4284

   B                               84.8200     72.8839  96.7561     21.5538     15.7801  33.9925

   Diff (1-2)    Pooled             0.4400    -15.5484  16.4284     21.3757     16.9633  28.9096

   Diff (1-2)    Satterthwaite      0.4400    -15.5486  16.4286

 

                    Method           Variances        DF    t Value    Pr > |t|

                    Pooled         Equal          28    0.06      0.9554

                    Satterthwaite    Unequal      27.992       0.06      0.9554

 

                                       Equality of Variances

 

                         Method      Num DF    Den DF    F Value    Pr > F

                         Folded F        14        14       1.03    0.9510

위에서 Folded F의 P-value가 0.9510으로 두 집단의 분산은 같다고 볼 수 있다. 따라서 우리는 pooled 분산을 이용한 t 검정 결과를 보고 두집단의 평균비교를 해야한다.사실 아래 히스토그램을 보면 두 집단의 분산은 유사할 것이라는 것을 집작할 수 있고 두 평균도 같을 것이라는 것을 대략 알 수 있다.

그리고 이들 각각의 변수의 히스토그램을 보고 싶다면 다음과 같이 명령어를 쓰면 동시에 A그룹과 B 그룹의 히스토그램의 형태를 비교분석할 수 있는 그래프를 준다.

proc univariate data=kkk1;
     class method;var dosage ;
     histogram dosage /kernel;run;

 

 



서로다른 두 그룹의 평균비교를 할때는 아래와 같이 데이타를 입력해야한다.

data kkk1;
input method $ dosage @@;
cards;

A 97.2 B 97.2
A 105.8 B 97.8
A 99.5 B 96.2
A 100 B 101.8
A 93.8 B 88
A 79.2 B 74
A 72 B 75
A 72 B 67.5
A 69.5 B 65.8
A 20.5 B 21.2
A 95.2 B 94.8
A 90.8 B 95.8
A 96.2 B 98
A 96.2 B 99
A 91 B 100.2
;
run;

이상으로 설명을 마치려고 한다.
사실 각각의 값에대한 설명을 수식으로 설명해야 하나 복잡함을 피하고자 한다.
여기서 Standard error는 샘플평균의 표준편차를 의미한다. SAS에서 무조건 Standard error는 샘플평균의 표준편차라는 것을 기억해 두자.




Posted by wishart
,

얼마전 하버드 다니는 친구의 안내로 하버드 도서관을 가게 되었다.
메인 도서관은 존하워드 동상근처에 있는데
먼저 존하워드 동상에서 한 컷 찍고...


놀라움을 감출 수 없었던 순간이었다.
이게 도서관인지 수백년된 초특급 박물관인지 구분이 안되는 그야말로 도선관만 보고도 이 학교에 입학하고픈 마음이 드는 곳이 였다.
책 빌린 것을 처리하는 프론트는 이 정도는 되어야...ㅋㅎㅎ


수백전 책들이 즐비하게 있었고
공부하는 학생들도 아주 조용이 뭔가에 몰두하고 있는 듯한 느낌이었다.
하바드 도서관을 나오때는 정말 내가 들고 있는 가방을 샅샅이 뒤지다시피 조사를 했다.
워낙 비싸고 오래된 책이 많은 곳이다 보니 도난사고를 막기위해서 그렇게 하는 듯 하였다.
아래 사진은 1층에 공부하는 곳인데...참 멋지다는 생각밖엔...


이게 바로 하버드...라는 생각이 들었다.
하바드는 캠퍼스도 정말 멋진 곳이지만 도서관도 너무 아름답다는 생각이 들었다.
MIT 도서관은 그야말로 창고같은...ㅋㅎ
다음엔 MIT 도서관을 찍어 올려봐야겟다.

Posted by wishart
,