Xp
NBA Maniazine
/ / /
Xpert

2점슛 60%와 3점슛 40%은 동일한 승리 기대값을 가지는가?

 
52
  10806
Updated at 2019-04-23 21:23:57

가정은 이렇습니다.

 

1. 100번의 포제션을 서로 한번씩 번갈아 가며 공격

2. 2점슛은 60% 성공률 & 3점슛은 40% 성공률로 동일한 기대값

3. 100번의 공격 후 누가 더 승리할 가능성이 높은지에 대한 비교

 

일반적으로는 득점 기대값이 같으므로 승리 기대값도 같은 결과가 나올 것이라고 생각할 수 있죠.

과연 그럴까요

 

간단한 코드를 작성해서 비교를 해보았습니다.

 

100번 슛을 쏘면 메이드한 슛은 0개부터 100개까지 가능하죠, 이론상

 

2점슛을 n번 성공했을때, 이를 이기기 위해 필요한 3점슛 성공 갯수는 floor(n*2/3)+1입니다 

(floor는 버림입니다.)

ex) 34번의 2점슛을 성공했다면, 이를 이기기 위해선 34*2=68득점 이상을 기록해야하고, 23개 즉, 위와 같은 floor(34*2/3)+1만큼의 3점슛을 성공하면 됩니다. 물론 그보다 더 성공해도 되고요.

 

가능한 각각의 n에 대해 이길수 있는 모든 3점슛 갯수와 이만큼의 3점슛을 기록할수 있는 확률을 계산하여 모두 더하면 3점슛 40%팀이 이기는 확률이 나옵니다.

 

반대로 하면 2점슛 60%이 이길 확률이 나오고요.


이렇게 했을 경우 2점슛팀과 3점슛팀의 승리 확률은..

point3-win point2-win 

 0.4196585  0.4457678

 

2점슛 60% 팀이 44.58%로 41.97%의 3점슛 팀보다 앞서게 됩니다.

(두 승률의 합이 100이 되지 않는건 비기는 경우가 있기 때문인데, 비길 경우 연장전의 개념으로 동일한 방법을 시행하면 되는 것이므로... 실제 두팀의 승률은 저보다도 좀 더 큰 차이를 보일 것 입니다.)

 

 

왜 이런 현상이 나타날까요?

2점슛과 3점슛을 각각 60%, 40%로 쏘았을때의 확률 분포는 아래와 같습니다. 


보시다시피, 3점슛이 더 넓은 점수 분포를 보이죠. 재밌게도 두 확률분포를 겹쳐보면, 3점슛이 다득점 경기 확률이 뚜렷히 높은 것을 알수 있습니다. 2점슛에 비해 저득점이 나오는 빈도에 비해 고득점이 나오는 빈도가 더 높은 확률을 보이는데 문제는 이기는 것은 1점만 이겨도 이긴다는 것이죠. 

 

 

결국 저만큼은 "잉여득점"화 됩니다.

 

 

다만 실제 경기에서는 3점슛 40%보다 2점슛 60%가 더 달성하기 어려운 미션이기에.. 현대 농구의 흐름에서 3점슛이 2점슛에 대해 갖는 비교우위는 당연합니다. 

 

올시즌 리그 평균 3점슛 성공률은 35.5%, 2점슛 성공률은 52.0%이며, 이 수치를 사용했을 때 3점슛 팀의 승률은 47.49%, 2점슛팀은 38.97%가 나옵니다. 이전에 말씀드린 대로 무승부를 감안하고 판단하시면 실제 차이는 더 커집니다. 

 

어떻게 계산되었는지 궁금해하실 분들을 위해 R code도 첨부합니다. 

# Scoring stability 

# Probability to make 2- or 3-point shot "n-time"

score <- data.frame(made=c(0:100), p2=dbinom(0:100, size=100, prob=0.6), p3=dbinom(0:100, size=100, prob=0.4))


tmp <- as.data.frame(matrix(nrow = 101, ncol=4)) 

colnames(tmp) <- c("point3-win", "point2-win")


for (n in 0:100){

n2 <- floor(n*2/3) + 1 ; n3 <- floor(n*3/2) + 1  


tmp[n+1,"point3-win"] <- score[n+1,"p2"] * pbinom(n2, size=100, prob=0.4, lower.tail = F) 

tmp[n+1,"point2-win"] <- score[n+1,"p3"] * pbinom(n3, size=100, prob=0.6, lower.tail = F) 

}


colSums(tmp) 

 

일하다 좀이 쑤시니 별걸 다하네요

 

참고로 3점슛 성공률이 달라지더라도 2점슛 성공률이 꾸준히 1.5배로 높다면 기대 승률은 거의 유지됩니다.      point3    point2  3P%

1 0.4049652 0.4378578 0.20

2 0.4115494 0.4418630 0.25

3 0.4157497 0.4442418 0.30

4 0.4183272 0.4454735 0.35

5 0.4196585 0.4457678 0.40

6 0.4199165 0.4451767 0.45

7 0.4191378 0.4436201 0.50

 

--------------------------------------

추가하는 내용입니다.

N=100일 경우 (총 100포제션)에는 저렇게 나옵니다만,

 

포제션 숫자를 바꿔가면서 계산해보면

 

 

      point3    point2       trial      ratio

1  0.4153976 0.4428581    90   1.066107

2  0.4129961 0.4412159    85   1.068330

3  0.4103778 0.4394235    80   1.070778

4  0.4075080 0.4374564    75   1.073492

5  0.4043436 0.4352844    70   1.076521

6  0.4008305 0.4328690    65   1.079931

7  0.3968995 0.4301614    60   1.083804

8  0.3924607 0.4270973    55   1.088255

9  0.3873945 0.4235909    50   1.093436

10 0.3815375 0.4195244    45   1.099563

11 0.3746600 0.4147309    40   1.106953

12 0.3664268 0.4089643    35   1.116087

13 0.3563243 0.4018433    30   1.127746

14 0.3435177 0.3927381    25   1.143283

15 0.3265301 0.3805136    20   1.165325

16 0.3023987 0.3628525    15   1.199914

17 0.2637844 0.3340538    10   1.266390

18 0.1842872 0.2747852     5   1.491070 

 

위와 같이 바뀝니다.  

즉, 적은 포제션일때는 2점이 더욱 높은 승률을 보인다는 거죠,

(값보단 저 트렌드에 더 촛점을 맞추시는게 좋을 듯 합니다.)

 

이미 동점상황에서 4쿼터를 시작한다.. 

그렇다면 가용 포제션은 100개가 되지 않겠죠, 이때는 기대값은 같더라도 확률 높은 2점을 선택하는게 더 승리 확률을 높이는 방법이라는 말도 됩니다.

 

또한 3점을 많이 쏘는 팀이라면, 포제션 수를 최대한 늘리는 것이 관건이라는 말도 됩니다. 

그러면 결과적으로는 승리확률을 따라잡을 수 있게 되죠. 

 

농구라는 게임의 한경기 100번의 포제션교환, 그리고 1.5배의 점수차, 이게 참 묘한 밸런스를 만들어내네요.

(물론 이미 약간 3점쪽으로 기울어져 깨지긴 했습니다만..)

 

 

-----------------------------------------

댓글에 오르니티어 님의 지적 덕분에 계산식에 있던 약간의 헛점을 찾았습니다.

pbinom(n2, size=100, prob=0.4, lower.tail = F) 

위식이 2점슛 성공 갯수 n의 득점보다 높은 득점을 기록하기 위한 3점 성공갯수 n2 이상을 기록할 누적확률에 대한 함수인데, 이게 원래는 lower.tail=T일 경우엔 n2와 같거나 작은 범위를 구하는데, lower,tail=T일 경우엔 같거나가 포함되지 않았네요; 그래서 무승부의 가능성 이상으로 빈 확률이 생겼었습니다.

 

이걸 여집합으로 바꿔서 식을 조금 변형해주면 이렇게 됩니다

1-pbinom(n2-1, size=100, prob=0.4, lower.tail = T) 

(*n2-1을 해줘야 n2가 포함되어 n2이상 성공횟수에 대한 누적확률이 구해집니다)

 

요렇게 하니까 빈틈없는 정확한 식이 되었네요. 

 

이렇게 하더라도 처음의 결과, 2점슛 팀이 승리확률이 높았던 것에는 변화가 없습니다.

다만 수치는 조금 변했는데, 2점슛 60% vs. 3점슛 40%가 

 point3-win  point2-win 

 0.4866988  0.4907497

이렇게 좀더 미세한 차이가 되었네요 

 

포제션 빈도에 따라 성공확률 비가 변하는 건 아쉽게도 이전처럼 뚜렷한 차이를 보이진 않게 되었지만, 

그래도 비율이 증가하는 경향성은 유지가 됩니다.

 

      point3      point2     trial    ratio

1  0.4859814 0.4902511    90   1.008786

2  0.4855763 0.4899696    85   1.009047

3  0.4851339 0.4896622    80   1.009334

4  0.4846482 0.4893246    75   1.009649

5  0.4841115 0.4889517    70   1.009998

6  0.4835142 0.4885368    65   1.010388

7  0.4828441 0.4880713    60   1.010826

8  0.4820850 0.4875440    55   1.011324

9  0.4812154 0.4869401    50   1.011896

10 0.4802054 0.4862388    45   1.012564

11 0.4790128 0.4854108    40   1.013357

12 0.4775749 0.4844129    35   1.014318

13 0.4757941 0.4831773    30   1.015518

14 0.4735072 0.4815907    25   1.017071

15 0.4704113 0.4794381    20   1.019189

16 0.4658218 0.4762042    15   1.022288

17 0.4574812 0.4699768    10   1.027314

18 0.4317921 0.4479722     5   1.037472 

 

그래도 빨리 지적해주셔서 다행이네요.

63
Comments
2
2019-04-23 16:28:45

좋은 분석이네요.

다만 공격에 성공할 경우에는 포제션이 무조건 바뀌고

실패할 경우에는 포제션을 유지하는 케이스(공격리바)도 있다는 것 까지 감안하면

더 정확할 것 같습니다.

WR
2019-04-23 16:30:02

제가 능력이 부족해서 최대한 간단하게 만드려고 해봤습니다.

말씀하신 리바운드에 의한 포제션 유지 능력 차이, 자삥 능력 차이도 큰 영향을 줄텐데.. 제외했습니다-_-a

2019-04-23 16:44:25

3점이 공격리바운드 확률이 더 높으니 이부분 감안하면 더 승률이 높아지겠네요

2
2019-04-23 20:27:08

속공맞을 확률도 높은 걸로 알고 있습니다.

Updated at 2019-04-24 16:27:37

3점은 롱리바운드가 발생해서 그럴 수도 있는데 2점 레이업 시도시 상대 림프로텍터가 블락을 뛰게 되면 레이업 실패하더라도 우리팀 빅맨이 풋백 득점을 쉽게 하는 경우도 꽤 본 것 같습니다

실제로는 어떨지 잘 모르겠는데 진짜 여러가지를 감안해야 하겠네요

아무튼 제가 하고 싶은 얘기는 문과라 죄송하다는 것뿐...

2019-04-23 16:29:51

와 재밌는 분석 감사합니다. 그런데 실제 경기에서는 3점과 2점이 섞여서 등장하기 때문에 3점의 다득점 양상이 단순히 잉여득점이라 하긴 어려울 것 같고, 2점을 60%로 득점한다 하더라도 3점 40%보다 낫다고 말하기 어려울 것 같아요.

읽고 보니 3점이 왜 트렌드가 되는지 알 것 같기도 합니다. 좋은 글 감사합니다.

WR
2019-04-23 19:20:22
 좋은 댓글 감사드립니다.
2019-04-23 16:29:54

리그 평균으로 보면 승률 차이가 거의 10% 가까이 나오네요

2019-04-23 16:30:22

3점,2점이외에 1점의 변수가 존재하기 때문에 실제로는 조금 더 다르지 않을까요? 

공식이 조금은 바뀔거 같은데.. 수알못이라 모르겠네요

WR
2019-04-23 17:48:56

실제론 변수가 많아 이것과는 꽤 다릅니다. 

이건 단순한 반복 시행 이후 값 비교한 것으로 생각하시면 됩니다.

2019-04-23 16:30:45

오오.. 좋은 자료 감사드립니다.

2019-04-23 16:32:16

슛파울로 자유투를 얻어내는 비율과 개수는 2점과 3점 중 어느 것이 더 많나요? 정확한 자료를 어디서 보는 지 모르겠어서 여쭤봅니다

WR
2019-04-23 19:14:58

자유투 얻어내는 비율은 2점이 더 많을 것으로 예상되는데 자료를 어디서 제공하는지는 잘 모르겠습니다.

느바 공홈에 가면 있을 것 같긴 하네요.

WR
1
2019-04-23 16:41:09

저도 처음엔 말씀하신 대로 나오는게 정상이라 생각하고 시작했습다만 실제론 그렇지 않은게 분포가 정규분포가 아닌 성공이냐 아니냐의 이항분포라서 그런 차이가 발생한것이 아닌가 싶습니다.

사실 충분히 큰 n에서는 이항분포가 정규분포에 근사하고 제 생각엔 100이면 충분히 크다 생각했으나 그래도 여전히 저정도의 차이는 만드는게 아닌가라고 생각되네요.

WR
2019-04-23 18:33:16

추가한 내용이 있어 따로 댓글을 추가합니다! (본문에도 추가했습니다.)

시행수가 얼마나 영향을 미치는가 궁금해져서 n을 줄여가면서 동일한 테스트를 진행해보니,

N수가 줄어들수록 2점슛의 승리확률이 더 높아진다는 것을 알 수 있었습니다. (정확히는 3점대비 승리확률이라고 해야겠네요)

 


     point3     point2      trial    ratio

1 0.4153976 0.4428581    90 1.066107

2 0.4103778 0.4394235    80 1.070778

3 0.4043436 0.4352844    70 1.076521

4 0.3968995 0.4301614    60 1.083804

5 0.3873945 0.4235909    50 1.093436

6 0.3746600 0.4147309    40 1.106953

7 0.3563243 0.4018433    30 1.127746

8 0.3265301 0.3805136    20 1.165325


WR
1
Updated at 2019-04-23 21:14:27
   made           p2           p3
    0   0.0001048576 0.0060466176
    1   0.0015728640 0.0403107840
    2   0.0106168320 0.1209323520
    3  0.0424673280 0.2149908480    
    4   0.1114767360 0.2508226560
    5   0.2006581248 0.2006581248
    6   0.25082265600.1114767360
    7   0.2149908480 0.0424673280
    8   0.1209323520 0.0106168320
    9   0.04031078400.0015728640
   10   0.0060466176 0.0001048576
 
0.07254203가 나오네요. 이상하긴 하네요, 
위 코드에서 사용한 계산식이 틀린 것으로 보이진 않은데..
 
 
식을 하나하나 보다가 원인을 찾았습니다!!
 
pbinom() function이 원래 누적확률분포인데
이게 pbinom(n, size, probability, lower.tail=T) 이렇게 사용하면 n과 같거나 작을 확률을 구하는 건데, lower.tail=F 를 설정하면 n과 같은 건 제외되네요. 
 
전 저거 반대로 해도 n과 같은것도 포함할거라 생각했었는데 아니었군요-_-
여기서 빠지는 확률이 있었나 봅니다. 
 
여집합으로 바꿔서 10포제션에 대해
 
score <- data.frame(made=c(0:10), p2=dbinom(0:10, size=10, prob=0.6), p3=dbinom(0:10, size=10, prob=0.4))

tmp <- as.data.frame(matrix(nrow = 11, ncol=2)) 
colnames(tmp) <- c("point3-win", "point2-win")

for (n in 0:10){
  n2 <- floor(n*2/3) + 1 ; n3 <- floor(n*3/2) + 1  
  
  tmp[n+1,"point3-win"] <- score[n+1,"p2"] * (1-pbinom(n2-1, size=10, prob=0.4))
  tmp[n+1,"point2-win"] <- score[n+1,"p3"] * (1-pbinom(n3-1, size=10, prob=0.6))
}
tmp
 
 

> colSums(tmp)

point3-win  point2-win 

0.4574812   0.4699768 

 

> colSums(tmp)[1] + colSums(tmp)[2]

0.927458

 

이렇게 나오네요. 이제 정확히 일치합니다.

 

조언 감사드립니다. 글의 전반적인 추세는 유치가 되는데, 수치의 빈곳이 좀 메꿔졌네요. 

WR
2019-04-23 21:34:35

이는 성공 갯수에 대한 확률분포입니다. 

 

위는 원래 본문에도 있던 득점의 분포입니다.

수정후 좀더 원래 예상했떤 120점 근처에서 더 잘 보이는 걸 알 수 있네요.

density plot으로 하면 제가 각각 2배 3배 곱한것이 3점슛 성공 갯수에 3배 곱한게 density에선 면적으로 그대로 넓혀지는 면이 있는데, 히스토그램으로 보시면 조금 더 어떤 느낌으로 나오는지 보실수 있을 것 같습니다. 

WR
Updated at 2019-04-23 16:46:13

그리고 밑에 말해주신 부분은 원래는 성공갯수에 대한 확률분포인데 제가 점수로 확대하기위해 성공갯수에 각각 2 또는 3을 곱하면서 생긴 현상으로 보입니다.

1
2019-04-23 16:38:09

2점 성공률이 3점 성공률보다 1.5배가 높으면 승리 확률이 올라간다는 의미인가요? 그렇다면 평균 3점률인 35.5% x 1.5 = 53.25%인데, 평균치인 52.0%보다 1.25%차이인데 3점 팀의 승률이 10%나 높은건 흥미롭네요. 물론 2점만 쏘거나 3점만 쏘는 경우가 없어서 2점 측과 3점 측의 각각 3pt%와 2pt%를 생각해봐야겠지만요.
통계글 올리시는거 늘 잘 보고 있습니다! 머리가 안 좋아서 100% 이해는 힘들긴 하지만, 확률 및 통계를 통해서 농구를 보는 것도 재미있어요. 좋은 글 감사합니다

WR
1
Updated at 2019-04-23 17:49:29
       point3     point2   2P%
1  0.4196585 0.4457678 0.600
2  0.4418913 0.4235049 0.595
3  0.4642926 0.4014955 0.590
4  0.4867937 0.3798042 0.585
5  0.5093246 0.3584926 0.580
6  0.5318156 0.3376190 0.575
7  0.5541972 0.3172375 0.570
8  0.5764009 0.2973981 0.565
9  0.5983602 0.2781463 0.560
10 0.6200105 0.2595225 0.555
11 0.6412904 0.2415622 0.550
 
3점슛 40%를 기준으로 0.5%씩 2점슛 성공률을 감소시키면서 비교해보면 놀랍게도..
59.5%에서 이미 3점슛이 2점슛의 승리확률을 역전합니다.
 
1.5배라는 점수 차이를 기준으로 성공률의 기준을 정한건데, 이게 아주 오묘한 바운더리 끝에 존재하고 있었네요. 3점이 40% 2점슛이 55%일 경우를 보시면 압도적으로 3점슛 팀에게 기울어져버린 상태입니다. 
 
좋은 말씀 감사드립니다!
2019-04-23 16:49:08

말씀하신 내용때문에 3점라인 뒤로 더 물려야 한다는 주장이 슬슬 메이저로 올라오고있죠

2019-04-23 18:00:22

커리와 릴라드가 미소짓는 소식이네요

2019-04-23 18:07:10

그럼 형평성때문에 코너3점은 없어져야할수준인데..

WR
2019-04-23 18:48:21

코트 폭은 넓혀도 좋을 것 같은데 그런 이야기는 없나요?

2019-04-23 16:52:51

 고딩때 수학공부 열심히 할걸....이라는 생각이 드는군요...항상 맨 마지막장에 나와서...

WR
1
2019-04-23 19:19:33
별 내용은 아닙니다. 지금부터 시작하셔도 늦지 않..
2019-04-23 17:22:09

농구 패러다임이이 이렇게 바뀌었네요. 당연히 돌파력이 기본으로 붙겠지만요. 이전에는 돌파하고 골밑을 봤다면 이제는 외곽을 보게 되네요.

한국농구도 한 때 중국과 붙을 때 양궁농구한다고 놀렸었는데...

WR
2019-04-23 19:20:56

선진 농구였네요

2019-04-23 18:55:37

정말 재밌게 읽었습니다 

WR
2019-04-23 19:21:09

다행이네요~

2019-04-23 19:24:47
재밌는 글 감사합니다! 요즘 시대에 샤크 같은 선수가 나온다면, 3점 슛팀을 박살 낼 수 있겠다던 말이 떠오르는데, 아무리 3점이 대세여도 2점을 저 정도 확률로 넣는 게 쉽지 않다는 게 재밌는 지점인 거 같아요.
WR
2019-04-23 21:36:55
 계산식에서 빠뜨린 부분이 있어 수정하고나니, 맥락은 유지가 되었지만 차이가 좀더 재미없게 작아져버렸네요ㅜㅜ 

 

말씀하신대로 3점대비 2점의 성공 효율이 떨어진다는게 3점이 범람할수 밖에 없는 근본적인 원인 같습니다. (반대로 말하면 3점의 기대값이 너무 좋다는 건데.. 정수라서 이건 어떻게 할수가 없겠네요)

2019-04-23 20:15:08

결론은 갓쿰보..

2019-04-23 20:23:03

샤크도 필드골이 60프로가 안 되는 걸로 아는데 요즘 3점 좀 쏜다는 선수들은 3점 성공률이 40프로 이상이죠. 2점으로 3점의 효율을 따라가긴 힘들겠네요.

Updated at 2019-04-23 20:26:50

문제는 오클이 진 경기에서는 17%? 좋은 슈터가 있고 세팅이 중요해 보입니다

Updated at 2019-04-25 07:53:19

.

 

WR
Updated at 2019-04-24 08:48:15

이항분포의 N이 충분히 크기에 정규분포에 근사하긴 하나 정규분포는 아닙니다. 그래서 차이가 안나는게 당연한건 아닙니다. 나는게 당연하죠. 차이가 n이 커질수록 점점 작아지는 것이지

수정후 코딩의 실수가 어디있는지 알려주시면 좋겠네요. 코딩의 실수가 없다는건 식을 보는 것으로도 알수 있는데 나온 숫자가 코딩의 실수인지 알수없다는게 어떤 근거인지 궁금하군요.

Updated at 2019-04-25 07:53:35

.

WR
Updated at 2019-04-24 10:19:59

n이 크더라도 직접 이항 분포의 계산을 할 수 있습니다. 어차피 컴퓨터가 하는 것이고, 정규분포와 동일하지 않은 이상 이게 더 정확합니다.


0.004의 차이가 우연히 여러번의 시행 중 작은 확률의 사건이라는게 무슨 뜻인지 모르겠네요. 저 수치는 몇 백번을 해도 똑같이 나옵니다. n=1일때 손으로 구한 확률 차이가 우연하다고 말하지 않는데, n=100일때의 차이는 우연한 사건이었는지 알수 없다는게 무슨 뜻인지 잘 모르겠군요. 

 

처음 그림에서 틀린걸 찾아낸건 코딩에서 있던 실수였지 이론적 실수는 아닙니다. 

 

그럼 어떻게 시뮬레이션을 했어야 한다는 말씀이신가요?

둘은 값이 다르게 나오는게 정상인데, 

"즉 차이 없습니다. 이건 정규분포의 대칭성 때문에 당연한거고요.."

이런 표현으로 볼때 직접 보이신 시뮬레이션은 같게 나와야한다는 것인데, 결과를 비추어 보면 그건 코딩의 실수가 아닌 시뮬레이션에서의 착오입니다. 

 

그럼 저 차이를 보고 어차피 왜 같지 않을까 내가 코딩에 실수가 있었을까 아니면 생각을 잘못했을까에 대한 과정은 어차피 이뤄지는 것입니다. 

2019-04-24 08:52:39

댓글다신분들 다 머리 좋으시네요

 

저는

 

수학만 나오면 머리아파요 ㅡㅡ;;;

 

그래서 결론이 뭐죵?

1
2019-04-24 10:08:56

결론은 3점은 2점보다 좋다 입니다

1
2019-04-24 10:13:12

같은 시도로 던지면 1.5배 성공률 높은 2점슛 몰빵 팀이 3점슛팀 이길 기대값이 아주 근소하게 높다.

그러니 3점슛 몰빵팀이 보다 확실하게 이기려면 더 많이 던져라 
이정도려나요. 근데 사실 0.004면 유의하다하더라도 좀 그래도 많이 낮은 확률이고,

실제 경기에서 저런 극단적 경기는 없을테니 그냥 저런 상황에서는 어느게 아주 약간 높다 정도가 결론일 듯 싶네요 

2
2019-04-24 10:45:17

뭐 실제 상황에서는 사람이 82경기의 데이터를 통해 60프로의 2점슛 성공률과 40프로의 3점슛을 성공시킨다는 점이 축적되어 있고 증명되어 있다 하다라도 개별 경기에선 컨테스트되는 상황이냐 아니냐, 상대팀이 우리팀의 2점/3점을 버리고 수비를 하는가, 그날 선수가 몇분 뛰어가지고 지금 힘이 남았냐, 컨디션은 좋은가, 집안에 걱정거리가 있는가(?)에 따라 또 달라지는 거니 이런 건 말그대로 반쯤 재미죠 뭐. 

3
Updated at 2019-04-24 11:10:48

세이버가 먼저 발달한 야구에서 논쟁이 되었던 게 있죠. 기대 득점과 득점 확률의 차이. 예를 들면, 번트의 경우 성공하더라도 기대 득점을 낮추지만, 1점이 필요한 경우의 득점 확률은 높이기 때문에 때때로 쓸만하다는 역설 같은거요.

 

아마 비슷한 아이러니를 잡아내고자 하신 것 같은데, 직관적으로 당연한 결과이면서도 흥미롭죠. (사실 수학적으로 당연하기는 합니다) 약간 보론하자면, 이런 이항분포에서는 n이 1일 때를 제외하고는 1보다 큰 어떤 n에서도 무조건 2점이 확률이 더 높을 수밖에 없습니다. 이미 논의된 바를 거듭 말씀드려 죄송합니다만, 본문의 그래프는 틀렸고 실제로는 120점에 평균이 형성되나 3점의 경우 더 분산이 큰 모양이 나타나겠지요.

 

만약 정규분포라면, 2점을 쏘는 확률변수 X2~N(120,sig2) 과 3점을 쏘는 확률변수 X3~N(120,sig3)이 있어 둘 모두 정규분포를 따른다면, 우리가 구하려는 것은 Pr(X2-X3)일테고, X2-X3 ~ N 임이 알려져있죠. X2-X3 ~(0, sig2^2 / n + sig3^2 / n)의 분산을 가지는 평균 0의 정규분포가 나타나겠지요. 이건 당연히 50%가 맞습니다.

 

그런데 Next23님께서 여러번 말씀해주셨다시피, 위는 정규분포가 아니기 때문에 다를 수밖에 없죠. 직관적으로 말씀드리면, 위의 경우 X2는 200점 이후로는 꼬리가 아예 없이 확률적으로 0인데, X3의 경우 소수점아래 열자리쯤 되겠지만 67~100회 성공의 확률이 존재하죠. 그러므로 Pr(X2=<200) = 1인데 반해, Pr(X3=<200) < 1 입니다. 당연히 반대로, Pr(X2=<120) < Pr(X3=<120) 으로 120점 이하의 득점 확률은 3점일 때가 더 큽니다. 결과적으로 이 분포에서는 n>1일 때 어떤 n에서든 Pr(X2-X3) > 0.5입니다. 이는 X3의 오른쪽 꼬리가 X2보다 길기 때문에 나타나는 당연한 결과입니다.

 

본문에서 이를 간단하게 '잉여득점화' 라고 말씀하셨는데, 이는 맞는 설명 같으면서도 좀 알쏭달쏭합니다. 왜냐면 3점팀이 분산이 큰 것은, 그만큼 큰 점수차로 패배할 확률도 크다는 의미죠. 반대로 생각하면 대칭일 것 같거든요. 정규분포면 대칭이겠죠. 하지만 실제로는 3점팀이 큰 점수차 (큰 점수차를 적절히 정의해야겠습니다만...)로 이길 확률이 큰 점수차로 패배할 확률보다 더 크고, -잉여득점화가 잉여실점화?보다 더 크다 - 이 차이는 결국 전체 게임에서는 2점팀이 승리할 확률을 더 높여준다고 봐야겠습니다.

WR
Updated at 2019-04-24 11:20:43

좋은 댓글 감사드립니다.

저도 잉여득점화라는 표현이 적절한지에 대한 고민이 좀 있긴 헀습니다. 뭔가 통계적으로 어려운 표현 대신 직관적으로 받아들여질 표현이면서도 포인트를 놓치지 않는 표현을 찾기가 쉽지 않더라고요..

 

가능한 득점의 분포가 둘다 120점을 기준으로 양쪽으로 퍼져가고 N이 커질수록 좀더 정규분포에 가까워지긴 하지만, 말씀해주신대로 2점슛은 0점에서 200점으로 퍼져있는데 반해, 3점슛은 0점부터 300점까지 퍼져있기에 설명해주신 대로 X3 (3점슛으로 인한 득점)의 오른쪽 꼬리가 더 멀리 퍼지게 됩니다. 우리가 익숙한 정규분포 관점으로는 직관적으로 평균을 기준으로 양쪽 누적 확률이 대칭일것 같지만 실제론 대칭이 아니다 보니 저런 미세한 차이가 발생하게 되는 것 같습니다. 

 

그리고 저런 비대칭성은 N이 작을 수록 더 뚜렷해지므로, 경기 전체가 아닌 한 쿼터, 몇 포제션으로 들어갈수록 득점 안정성에 의한 승리확률 차이가 더욱 두드러진다는게 재밌는 부분이라는 생각이 듭니다. 

1
2019-04-24 12:15:05

감사합니다. 항상 글 재미있게 읽고 있어요~ 또 많은 글 부탁드립니다.

2019-04-24 11:23:03

이게 정확한 얘기네요.

무한대의 포제션을 갖게 되면 양 쪽이 얻는 점수의 차는 없게되죠. 

그게 아닌 N의 경우는 같은 기대값에서는 당연히 확률이 높은 쪽이 이득을 갖게 됩니다.

 

극단적으로 로또를 기대값과 같은 가격으로 팔아도 1등의 확률이 낮기 때문에 

엔간히 사지 않고서는 적자를 면하기 어려운 것과 마찬가지라고나 할까요. 

 

 뭐 2점, 3점은 그정도의 확률차이가 아니기 때문에 어떤 유의미한 값은 아닐거 같네요.


Updated at 2019-04-24 16:09:47

PPP(슛횟수별 득점 기대값)기준으로 3점의 득점 기대치 2점 대비 높다

 

리그에 3점 평균이 40%넘는 100개 이상의 유의미한 슛터의 숫자는 

올시즌 기준으로 22명입니다. (조해리스에서 KAT까지)

 

근데 2점 60%넘는 선수는 올시즌 12명입니다. 

(토마스 브라이언트에서 시아캄까지)

 

결국에는 3점이 더 유리하지 않을까 하네요~

 

2019-04-24 19:29:02

그럼이제 우리가 분석해야할것은
과연 3점 라인은 몇미터로해야 2점과3점의 군형이 올까??라는 질문으로 귀결되는거같네요
40프로와 60프로가 거의 승률이균일 하다고 가정할때 거리가 어느정도 여야지 균일한 숫확률이나올지 전체 슛차트 거리와 슛 성공률 을 분석하여 2:3이나오는 거리를 회기분석하면 되겠네요
능력자님 다음 부탁드립니다

2019-04-24 20:02:35

재미있게 잘 봤습니다. 

universal님 의견도 봤는데 통계학 전공자가 아니신거 같네요. (통계학 전공자만 확률 이야기를 할 수 있다는 뜻이 아닙니다.) 통계학쪽에서 잘 안쓰는 표현들을 쓰시고... 본문에서 제시한 그래프들을 시뮬레이션이라고 말씀하시는 것이.... 아마도 전자공학 혹은 (응용)수학 전공자가 아닐까 싶습니다만?

 

내용적인 것은 다른 분들이 잘 설명하셨기에 첨언할 것은 없고... 

본문글에 대해서는, 논문도 아닌데 까다롭게 받아들일 필요는 없다고 보는데... 

거기에 대해...

 

"괜히 멀리 돌아가신 것 아닌가요. 이건 수학적으로 생각하면 너무 당연합니다."

"물론 가끔은 가설이 틀렸음을 밝힐 수 있고 생각지도 못한 발견을 하게 될 수도 있고 그것이 시뮬레이션의 가치라고 생각합니다. 그러나 시뮬레이션만 돌려서 그 결과로 결론을 내면 논리적이지 않을 수 있다는 것을 말씀드리고 싶었습니다."

"이런 간단한 모델은 이미 수학적으로 완벽하게 분석되어 있고 아마 교과서 같은 곳에서도 레퍼런스를 찾으실 수 있을겁니다."

 

등의 표현들이.... 쩝... 제가 알기로는 Next 23님이 미국에서 통계학 박사 학위 중 혹은 박사 학위를 마치시고 연구원으로 계시는 것으로 알고 있는데... (물론, 통계학에 관한한 통계학 박사가 다 옳다는 것도 아니고, 통계학 박사의 의견에 어디 토를 다느냐도 아닙니다.)

 

강한 표현을 쓰시기 전에 한번 더 신중하셨으면 어땠을까 싶습니다. 뭐... 수학적으로 너무나 자명한 것을 왜 저런 짓거리를 하나 싶어서 그러신거 같긴 한데. Next 23님의 본문 글 자체를 잘못 이해하고 계시기에 더 할 말은 없습니다.  

 

WR
Updated at 2019-04-24 21:12:47

아, 저는 통계학 전공자는 아니고요 (관련 강의를 수강한 적은 있지만..), 국내에서 박사학위를 받았는데 생명과학 분야입니다. 연구분야에서 통계학을 사용할 일이 좀 있기도 하고 개인적으로 통계학이라는 학문을 좋아해서 따로 공부하려고 노력중입니다.

 

사실 저보다 잘 아시는 분들이 많기때문에 이런 글 쓸때도 상당히 조심스럽고 다루는 내용도 이 분야를 아시는 분들에게 어렵거나 복잡한 것도 전혀 없습니다. 그래서 항상 지적하시는 분들의 코멘트에서 저도 많이 배웁니다.

 

물론 간혹 표현들에서 상처가 될때가 있긴 한데, 어느 정도는 감수하고 또 저도 그냥 넘어가는 타입은 아니라서..-_-;; 댓글을 서로 달고 하다보면 저도 배우는게 있어서 좋습니다. 

 

댓글 감사드립니다. 

2019-04-25 08:13:07

그럴 의도는 아니었지만 상처 받으셨으면 죄송합니다. 제 댓글은 지웠고 아래 댓글에서 제 의도를 적었습니다.

Updated at 2019-04-25 08:27:19

일반인이라 생각했으면 그냥 넘어갔을건데 그렇지 않아서 댓글 단 겁니다. 수학적으로 자명한 것을 저런 짓거리를 했다 생각한 게 아니라요, 첫 번째 그래프가 명백히 틀려서 댓글을 달아야겠다고 생각했고 그 후에 추가된 내용은 나중에 확인했습니다. 공부하시는 분이라면 저 정도 코멘트로 기분 상하시리라 생각하지는 않았는데 제가 잘못 생각했네요. 그 부분 사과드리고 댓글 지우겠습니다. (제가 하고팠던 말은 밑에 retera님이 부드럽게 잘 적어주셨습니다.)


그리고 전 그 이상 공부했고요, 지금도 미국에 있고 그 정도 스펙은 감흥 없습니다. 권위에 호소하지 마시고 수학적, 논리적으로 틀린 내용을 지적해주세요. 전 그런 표현 신경 안 쓰니 가르침을 주시면 기쁘게 읽겠습니다.

 

그럼에도 이론적 분석이 선행/후행되는 것이 낫지 않을까하는 생각은 여전합니다. (다시 언급하면 위에 retera님 글이 매우 적절하다고 봅니다. 그리고 이런 직관적인 해석이 보통 교과서에 이미 잘 수록되어 있기 때문에 레퍼런스를 언급한 것이고요.) 이런 수학적 접근은 저도 재미있게 읽고 글 써주시는 것에 감사합니다만, 통계라는 게 명확한 가설과 철학이 없으면 데이터 가지고 하는 숫자놀음이 될 수 있고, 이런 글의 목적이 데이터로 나온 숫자를 맹신하자는 게 목적이 아니라고 생각하기 때문입니다. 물론 이 경우는 너무 간단해서 그럴 여지가 없기에 제가 너무 호들갑인 것 같기는 합니다만, 첫 그래프를 보고 이런 의견이 필요하다고 생각했습니다.

WR
Updated at 2019-04-25 14:48:01

저도 연구하는 분야에 있어서 criticism에 대한 적응은 잘 되어있지만, 같은 말도 어떻게 표현하냐에 따라 다르죠, 사람마다 똑같은 discussion을 해도 굳이 저렇게 말해야하나 싶은 생각이 들게 표현하는 사람도 있고, 아닌 사람도 있으니까요. 가끔 보면 어떤 사람들은 굳이더 기분나쁘게 말할수록 효과적이다라고 생각하는 사람도 있는듯 하더라고요, 본인의 탁월한 학문적 성취가 타인에게 하고 싶은 말을 맘대로 할수 있게 만드는건 아닌데 말이죠. 

 

뭐 저도 인터넷에서야 연구 생활보다 훨씬 독설을 많이 합니다만, 이게 연구하는 분야에 있으니까 이정돈 괜찮은거지라고 말하는 쪽에서 미리 짐작하는건 바람직하지 않다고 생각합니다. 말씀하시는 것을 보면 말하시는 표현에 제 기분이 상하는 것도 제 잘못인 것처럼 느껴지네요. 

 

첫 그래프의 그림이 잘못 나온건 코딩에서의 실수였고 논리상 오류가 아니었습니다. 댓글을 쓰셨을땐 이미 다른 분께서 이미 지적해주셔서 수정된 버전을 추가하고 그림도 새로 단 후였습니다. 저는 일반적으로 그렇게 수정되더라도 댓글이 이상하게 보이지 않도록 기존 글에 수정된걸 추가하는 방식을 쓴거고요. 

 

universial 님께서 틀린 내용을 지적하자면, 위 시뮬레이션은 처음부터 정규분포가 아니었기에 2점과 3점의 차이가 나는게 당연하다는 점입니다. 또한 위 결과에서 나온게 글쎄요 맹신이라 표현될 정도로 확대해석한게 있었나 라는 생각이 듭니다. 

 

글을 좀더 시간을 두고 차분히 썼어야했는데, 일하다가 갑자기 이렇게 해볼까? 하고 생각이 들어서 짬내서 뚝딱뚝딱 하다보니 중간에 실수도 포함된채로 글이 올라가고 그랬었습니다. 다음부턴 조언하신 부분을 더 신경쓰도록 하겠습니다.  

2019-04-25 00:24:16

3점슛작전으로 갈거면 빠른페이스로 던지는게 확률상 좋겠네요. 샷클락 다 보내고 3점 던지는 방식으로는 이기기 힘들다는거군요

2019-04-29 11:51:31

글 읽다보면 머리가 어질어질합니다.

2019-04-30 22:17:53

오류임

WR
2019-04-30 22:22:14

어떤 오류가 있나요?

2019-05-01 14:58:04

게다가 3점 강한팀이 2점 넣기도 더 쉽죠 커리 한명 때문에 생겨나는 꽁짜컷인찬스는 볼때마다 경이롭습니다

1
Updated at 2019-05-02 19:38:36

library(tidyverse)


iterNum <- 1

iterBreakNum <- 10000

while(TRUE){


  print(sprintf("%s 's simulation is Starting", iterNum))


  if( iterNum == 1) {

    

    ThreePoint_Win <- 0

    TwoPoint_Win   <- 0

    

    Result <- c()

    

    ThreePoint_Final_List <- c()

    TwoPoint_Final_List   <- c()


  }


  ThreePoint <- rbinom(100, 1, 0.4)

  TwoPoint   <- rbinom(100, 1, 0.6)

  

  ThreePoint_Final <- sum(ThreePoint * 3)

  TwoPoint_Final   <- sum(TwoPoint   * 2)

  

  ThreePoint_Final_List <- c(ThreePoint_Final_List, ThreePoint_Final)

  TwoPoint_Final_List   <- c(TwoPoint_Final_List, TwoPoint_Final)

  

  if ( ThreePoint_Final > TwoPoint_Final ) {

    

    ThreePoint_Win <- ThreePoint_Win + 1

    Result         <- c(Result, 3)

    

  } else if (ThreePoint_Final < TwoPoint_Final) {

    

    TwoPoint_Win <- TwoPoint_Win + 1

    Result       <- c(Result, 2)

    

  } else if (ThreePoint_Final == TwoPoint_Final) {

    while (TRUE) {

      

      ThreePoint_Once <- rbinom(1, 1, 0.4)

      TwoPoint_Once   <- rbinom(1, 1, 0.6)

      

      if (ThreePoint_Once != TwoPoint_Once) { break; }


    }


    if ( ThreePoint_Once > TwoPoint_Once ) {

      

      ThreePoint_Win <- ThreePoint_Win + 1

      Result         <- c(Result, 3)

      

    } else {

      

      TwoPoint_Win <- TwoPoint_Win + 1

      Result       <- c(Result, 2)

      

    }

    

  }

  

  iterNum <- iterNum + 1

  

  if ( iterNum > iterBreakNum ) { break; }

  

}


ThreePoint_Win; TwoPoint_Win


prop.test(x = ThreePoint_Win, 

          n = ThreePoint_Win + TwoPoint_Win, 

          alternative = c("two.sided"), 

          conf.level = 0.95) 

ThreePoint_Win / (ThreePoint_Win + TwoPoint_Win)




ThreePoint_Final_List; TwoPoint_Final_List


Final_Result <- data.frame(INDEX = 1:NROW(ThreePoint_Final_List),

                           POINT = ThreePoint_Final_List,

                           GROUP = "3 Points") %>% 

  rbind(data.frame(INDEX = 1:NROW(TwoPoint_Final_List),

                   POINT = TwoPoint_Final_List,

                   GROUP = "2 Points"))

Final_Result %>% 

  ggplot(aes(x = POINT, fill = GROUP)) +

  geom_density(alpha = .3)



Final_Result2 <- Final_Result %>% 

  spread(GROUP, POINT) %>% 

  rename(ThreePoints = `3 Points`,

         TwoPoints = `2 Points`) %>%

  mutate(DiffPoints = ThreePoints - TwoPoints)


Final_Result2 %>% 

  ggplot(aes(x = INDEX)) +

  geom_line(aes(y = ThreePoints, col = "red")) +

  geom_line(aes(y = TwoPoints,   col = "blue")) 



Final_Result2 %>% 

  ggplot(aes(x = INDEX)) +

  geom_line(aes(y = DiffPoints, col = "red")) +

  geom_abline(slope = 0, intercept = 0, col = "black")



Final_Result2 %>% 

  ggplot() +

  geom_density(aes(x = DiffPoints)) 



Final_Result2$DiffPoints %>% mean

Final_Result2$DiffPoints %>% sd


Final_Result2$DiffPoints %>% t.test()

Updated at 2019-05-02 19:27:20

간단하게 시뮬레이션 10000번 해봤는데,

제가 해봤을 때는 경기수가 많아지면 3점슛이 이기는 수와 2점슛이 이기는 수는 

다르다고 할 수 있을 지 모르겠네요.

 

상식적으로 생각했을 때 3점슛의 득점에 대한 분산이 2점슛에 비해 크기 때문에

3점슛의 기대득점에 대한 분포가 넓게 퍼질건 예상됐는데

최대득점이 300점, 2점슛은 최대득점이 200점이라 

3점슛 기대득점의 분포에서 꼬리부분이 더 길다는 점은 좋은 인사이트 같습니다.

 

다만, 분포의 꼬리부분이 더 길다고 해서 

승률이 차이가 나는 부분이 실제로 통계적으로 유의미한가?

라는 것에 대해서는 여전히 결론 내리신 부분이 맞은건가 싶네요.

꼬리 부분이 워낙 희귀한 케이스일테니까요.

WR
2019-05-03 14:04:23

너무 좋은 댓글 잘 봤습니다

100포제션 기준으로 봤을 때 차이가 나지만, 이게 승리 확률에 유의미한 차이를 줄만큼인가는 저도 부정적이긴 합니다. 재미없게 적은 차이긴 하죠..ㅜㅜ N이 충분히 크다보니 차이는 나되 사실상 미미한 수준이니까요. 

 

다만 저 N수 변화에 따른 트렌드 관찰, 그리고 두 슛의 기대값 간에 존재하는 미미한 차이를 내는 이유에 대한 고찰 정도로 받아들여주시면 좋을 것 같습니다.

1
2019-05-03 14:17:20

Next 23님 글 읽고

흥미가 생겨서 공격리바운드 확률을 반영해서 시뮬레이션 해본 글

방금 매니아 공유했는데요

확실히 재미있는 분야니까 더 재밌네요!

hou
52
8760
24-03-23
bos
122
27970
24-03-18
atlgsw
86
20342
24-03-18
bosden
57
7109
24-03-16
den
122
24417
24-03-14
lal
44
8564
24-02-24
den
92
18749
24-02-20
dal
80
16252
24-02-17
dal
79
8875
24-02-06
bos
54
6248
24-02-15
dal
72
11543
24-02-14
cha
69
21212
24-02-14
orl
36
6246
24-02-09
phi
42
6878
24-02-10
indphi
60
6387
24-02-08
atlbkn
45
10625
24-02-08
sas
50
16924
24-02-05
phi
46
11126
24-02-04
cle
40
12455
24-02-04
검색 대상
띄어쓰기 시 조건









SERVER HEALTH CHECK: OK