테마 선택

📚 지식 노트

AI·하드웨어·주변기기·게임·컴퓨터 시스템·이론 컴퓨터 과학·수학·개발과 운영·보안·응용 분야에 대해 알아 두면 좋은 내용을 정리한 노트다. 위에서 분야를 고르고 아래에서 노트를 고른다.

과학적 방법

과학은 정답 목록이 아니라 틀린 생각을 걸러 내는 절차다. 반증할 수 있는 가설을 세우고, 변인을 통제한 실험으로 예측을 시험하고, 단위와 유효숫자로 정직하게 재고, 오차와 불확도를 셈에 넣고, 통계로 우연을 가려내고, 남이 다시 해 볼 수 있게 공개한다. 그 절차를 직접 계산한 그림으로 따라간다.

목차 (16)
  1. 과학이란: 반증 가능성과 네 가지 용어
  2. 관찰에서 결론까지: 순환하는 방법
  3. 실험 설계: 변인 통제, 대조군, 무작위 배정, 맹검
  4. 측정과 SI 단위
  5. 유효숫자와 반올림
  6. 정확도와 정밀도, 계통 오차와 우연 오차
  7. 평균, 표준편차, 표준오차
  8. 불확도 전파: 합과 곱
  9. 그래프 읽기와 최소제곱 직선
  10. 차원 분석과 페르미 추정
  11. 가설 검정과 p값
  12. 상관과 인과
  13. 동료 평가, 출판, 재현성 위기
  14. 과학사의 짧은 예
  15. 흔한 오해
  16. 핵심 자료

과학이란: 반증 가능성과 네 가지 용어

과학이 다른 지식과 갈리는 지점은 "맞는 말을 한다"가 아니라 틀렸다면 틀렸다는 것이 드러날 수 있는 말을 한다는 데 있다. 철학자 칼 포퍼는 1935년 『탐구의 논리』(영어판 1959년)에서 이를 반증 가능성이라 불렀다(Stanford Encyclopedia of Philosophy: Karl Popper). "모든 백조는 희다"는 흰 백조를 아무리 많이 봐도 증명되지 않지만, 검은 백조 하나로 반박된다. 확인과 반박 사이의 이 비대칭 때문에 과학 이론은 "아직 반박되지 않은 가장 나은 설명"이라는 자리에 머문다. 어떤 결과가 나와도 설명할 수 있는 주장은 튼튼해 보이지만 실은 아무것도 예측하지 않는다.

포퍼의 기준이 과학의 전부는 아니다. 실제 과학자는 예측이 한 번 빗나갔다고 이론을 바로 버리지 않고 측정 장비나 보조 가정을 먼저 의심하며, 그 판단이 옳을 때도 많다. 그래도 "어떤 관찰이 나오면 내가 틀린 것인가"를 미리 말할 수 있느냐는 질문은 과학과 과학처럼 보이는 것을 가르는 좋은 첫 시험이다.

네 용어는 일상어와 뜻이 다르다. 가설은 시험할 수 있는 잠정적 설명이나 예측이다. 법칙은 "무엇이 일어나는가"의 규칙성을 흔히 식으로 요약한 것이고(뉴턴의 만유인력 법칙, 보일의 법칙), 이론은 "왜 그런가"를 설명하며 수많은 시험을 견딘 체계다(진화론, 일반 상대성 이론). 법칙이 자라서 이론이 되는 관계가 아니라, 둘은 하는 일이 다르다. 모형은 계산하고 예측하려고 일부러 단순화한 표현이다. 이상 기체 모형처럼 틀린 줄 알면서도 쓸모 있는 범위 안에서 쓴다.

가설, 법칙, 이론, 모형 네 용어의 뜻과 반증의 비대칭가설검증할 수 있는잠정적 설명·예측법칙무엇이 일어나는지규칙성의 요약(흔히 식)이론왜 일어나는지시험을 견딘 설명 체계모형계산·예측용으로단순화한 표현법칙이 자라서 이론이 되는 것이 아니다 — 하는 일이 다르다가설 "모든 백조는 희다"흰 백조를 아무리 많이 봐도→ 참이라고 증명되지 않는다(확증만 쌓임)검은 백조 하나면→ 가설이 반박된다(반증)
네 용어의 역할과 반증의 비대칭. 확증은 아무리 쌓여도 증명이 되지 않지만, 확실한 반례 하나는 일반 명제를 무너뜨린다.

관찰에서 결론까지: 순환하는 방법

교과서의 "과학적 방법"은 관찰, 질문, 가설, 예측, 실험, 분석, 결론의 순서로 그려진다. 중요한 것은 이것이 한 줄이 아니라 고리라는 점이다. 결론은 새 관찰과 질문을 낳고, 예측이 빗나가면 가설로 돌아가 고친다. 핵심 단계는 예측이다. 가설에서 "그렇다면 이런 조건에서는 이런 결과가 나와야 한다"를 실험 전에 끌어내야, 결과가 가설을 지지하는지 반박하는지 판단할 수 있다. 결과를 보고 나서 설명을 맞추면 무엇이든 설명할 수 있어 시험이 되지 않는다.

관찰에서 결론까지 일곱 단계가 원을 이루고, 예측이 빗나가면 가설로 되돌아가는 과학적 방법의 순환예측이 빗나가면가설을 고친다관찰질문가설예측실험분석결론예: 빵이 빨리 곰팡이 핀다질문: 습도 때문일까?가설: 습할수록 빨리 핀다예측: 습도 90%가 40%보다 빠르다실험: 습도만 바꾼 상자 두 개분석: 날짜별 곰팡이 면적 비교결론: 지지 또는 반박 → 새 질문실제 연구는 순서대로 가지 않는다 — 핵심은 예측을 걸고 시험하는 것
과학적 방법의 순환과 예(빵의 곰팡이). 점선은 예측이 빗나갔을 때 가설로 되돌아가는 길이다. 실제 연구는 단계를 건너뛰고 되돌아가기를 반복한다.

모든 과학이 실험실 실험으로 되는 것은 아니다. 천문학, 지질학, 역학(疫學)은 별이나 지층이나 인구 집단을 마음대로 바꿀 수 없어 관찰 연구로 같은 논리를 편다. 예측을 걸고, 아직 보지 않은 자료(다음 일식, 새로 판 지층, 다른 나라의 환자)에서 확인한다. 개발자에게 익숙한 디버깅도 같은 고리다. 증상을 보고, 원인을 짐작하고, "그렇다면 이 입력에서 이렇게 깨져야 한다"고 예측한 뒤 재현해 본다.

실험 설계: 변인 통제, 대조군, 무작위 배정, 맹검

실험에서 일부러 바꾸는 것이 독립 변인, 결과로 재는 것이 종속 변인이다. 그 밖에 결과에 영향을 줄 수 있는 것은 모두 같게 묶어 두는데, 이것이 통제 변인이다. 그리고 독립 변인만 다르고 나머지는 같은 대조군을 함께 돌린다. 대조군이 없으면 "약을 먹었더니 나았다"가 약 덕분인지, 시간이 지나 저절로 나은 것인지 가릴 수 없다.

독립 변인, 종속 변인, 통제 변인과 처치군·대조군의 관계독립 변인실험자가 바꾸는 것습도영향을 주는가?종속 변인결과로 재는 것곰팡이 면적통제 변인: 결과에 영향을 줄 수 있어 모두 같게 둔다같은 빵같은 온도같은 빛같은 기간처치군습도 90%대조군습도 40%(평소 조건)
한 번에 하나만 바꾸고 나머지는 같게 둔다. 처치군과 대조군의 차이가 곧 독립 변인의 효과라고 말할 수 있는 조건이다.

사람이나 동물처럼 개체가 제각각이면 모든 조건을 손으로 맞출 수 없다. 나이, 체질, 생활 습관처럼 재지 못한 차이까지 고르게 나누는 방법이 무작위 배정이다. 동전이나 난수로 집단을 정하면, 알든 모르든 모든 특성이 두 집단에 평균적으로 비슷하게 퍼진다. 반대로 참가자가 스스로 고르게 하면 새 치료를 원하는 사람(예컨대 더 젊고 건강한 사람)이 한쪽에 몰려, 치료 효과와 나이 효과가 뒤섞인다.

참가자가 스스로 처치를 고르면 처치군이 젊은 사람에게 몰리고, 무작위로 배정하면 두 집단의 나이가 비슷해진다스스로 선택 — 평균 나이 차 22.1세무작위 배정 — 평균 나이 차 4.2세20세30세40세50세60세70세처치군(선 위)대조군(선 아래) · 세로 막대 = 집단 평균
같은 참가자 40명(고정 씨앗 난수). 젊은 사람이 처치를 고른다고 가정하면 두 집단의 평균 나이가 22.1세 벌어지고, 무작위로 나누면 4.2세 차이에 그친다. 참가자가 많을수록 무작위 배정의 차이는 더 줄어든다.

사람은 기대만으로도 결과가 달라진다. 가짜 약을 먹고도 나아지는 위약 효과가 있고, 측정하는 사람도 기대하는 쪽으로 판정이 기운다. 그래서 참가자가 자기가 어느 집단인지 모르게 하는 단일 맹검, 측정하는 연구자까지 모르게 하는 이중 맹검을 쓰고, 대조군에는 모양이 똑같은 위약을 준다. 웹 서비스의 A/B 테스트도 같은 설계다. 사용자를 무작위로 두 화면에 나누고 미리 정한 지표를 비교하며, 사용자는 자기가 실험 중이라는 것을 모른다. 추천 시스템의 온라인 실험은 검색과 추천 노트에 있다.

측정과 SI 단위

측정값은 숫자와 단위의 곱이다. "길이 3"은 정보가 아니고 "3m"여야 한다. 전 세계가 함께 쓰는 단위 체계가 국제단위계(SI)이고, 일곱 개의 기본 단위(초, 미터, 킬로그램, 암페어, 켈빈, 몰, 칸델라)에서 나머지 단위를 곱과 나눗셈으로 만든다. 힘의 뉴턴은 kg·m/s², 에너지의 줄은 N·m다. 단위가 섞이면 큰 사고가 난다. 1999년 NASA의 화성 기후 궤도선은 한쪽 소프트웨어가 파운드힘·초로, 다른 쪽이 뉴턴·초로 값을 주고받아 궤도를 잘못 잡고 잃어버렸다.

단위는 무엇으로 정의하느냐가 핵심이다. 킬로그램은 1889년부터 파리 근교에 보관한 백금·이리듐 원기 하나의 질량이었는데, 원기가 세월에 따라 복제본들과 미세하게 어긋나도 확인할 기준이 없었다. 2018년 11월 제26차 국제도량형총회가 일곱 상수의 값을 정확한 수로 고정하고 모든 단위를 거기서 끌어내도록 정했고, 2019년 5월 20일부터 시행되었다. 이제 킬로그램은 플랑크 상수 h = 6.626 070 15 × 10−34 J·s로 정해지고, 키블 저울 같은 장치로 어느 실험실에서든 실현할 수 있다. 같은 이유로 빛의 속도, 기본 전하, 볼츠만 상수, 아보가드로 수는 더 이상 "측정값"이 아니라 오차 없는 정의값이다. 이 상수들은 물리학 노트와 화학 노트에서 다시 나온다.

SI 기본 단위 일곱 개와 각 단위를 정의하는 고정 상수양단위값을 고정한 상수(정확한 값)함께 기대는 상수시간초 (s)Δν_Cs = 9 192 631 770 Hz—길이미터 (m)c = 299 792 458 m/sΔν_Cs질량킬로그램 (kg)h = 6.626 070 15 × 10⁻³⁴ J·sc, Δν_Cs전류암페어 (A)e = 1.602 176 634 × 10⁻¹⁹ CΔν_Cs열역학 온도켈빈 (K)k = 1.380 649 × 10⁻²³ J/Kh, Δν_Cs물질의 양몰 (mol)N_A = 6.022 140 76 × 10²³ /mol—광도칸델라 (cd)K_cd = 683 lm/Wh, Δν_Cs2019년 5월 20일부터 국제 킬로그램 원기 대신 자연 상수로 모든 단위를 정의
일곱 기본 단위와 2019년부터 값을 고정한 정의 상수(BIPM SI 브로슈어 9판). 오른쪽 열은 그 단위가 함께 기대는 다른 정의 상수다. 몰만 아보가드로 수 하나로 정해진다.

큰 수와 작은 수는 접두어로 쓴다. 킬로(103), 메가(106), 기가(109)와 밀리(10−3), 마이크로(10−6), 나노(10−9)다. 컴퓨터의 KiB, MiB는 1,024배씩 커지는 이진 접두어로 SI 접두어와 다르다. 단위 기호는 똑바른 글씨로 쓰고(m, kg), 숫자와 단위 사이는 한 칸 띄우는 것이 SI 표기 규칙이다.

유효숫자와 반올림

측정값의 자릿수는 그 자체로 정보다. 1mm 눈금 자로 길이를 재면 눈금이 보증하는 자리까지 읽고, 눈금 사이를 어림해 한 자리를 더 붙인다. 23.4mm라면 2와 3은 확실하고 4는 어림이다. 이렇게 의미 있는 자리를 유효숫자라 한다. 23.40mm라고 쓰면 0.01mm까지 안다고 주장하는 셈이라 거짓이 된다.

밀리미터 눈금 자에서 23.4mm를 읽을 때 마지막 자리가 어림이라는 것과 유효숫자 세기 예202530mm물체 끝읽은 값: 2 3 . 4 mm23까지는 눈금이 보증, 4는 눈금 사이를 어림한 자리→ 유효숫자 3개. "23.40"이라 쓰면 0.01mm까지 안다고 주장하는 셈이다.23.43개0.003403개12002개1.200 × 10³4개6.0224개앞쪽 0은 세지 않고 소수점 뒤 끝의 0은 센다. 1200처럼 애매하면 과학적 표기로 밝힌다.
자로 읽은 값의 마지막 자리는 어림이다. 아래는 유효숫자 세기의 예(계산값). 앞쪽의 0은 자리만 잡아 주므로 세지 않는다.

계산 결과도 입력보다 정밀할 수 없다. 곱셈과 나눗셈의 결과는 유효숫자가 가장 적은 입력에 맞추고, 덧셈과 뺄셈의 결과는 소수 자리가 가장 짧은 입력에 맞춘다. 계산기가 내놓은 열 자리를 그대로 옮겨 적지 않는다. 다만 중간 계산에서는 자리를 넉넉히 들고 가고 마지막에 한 번만 반올림해야 반올림 오차가 쌓이지 않는다. 빛의 속도 299,792,458m/s를 유효숫자 셋으로 줄이면 3.00e+8m/s다.

반올림에도 방식이 있다. 학교에서 배우는 사사오입은 정확히 가운데(…5)를 늘 위로 올리므로 0.5, 1.5, 2.5, 3.5가 1, 2, 3, 4가 되어 합계가 위로 치우친다. 짝수 쪽 반올림(은행원 반올림)은 가운데일 때 짝수 쪽으로 보내 0, 2, 2, 4를 얻고, 올림과 내림이 반반이라 많이 더해도 치우침이 없다. IEEE 754 부동소수점의 기본 반올림이 이 방식이다. 개발자에게는 함정이 하나 더 있다. 1.005는 이진수로 정확히 나타낼 수 없어 실제로는 1.00499…로 저장되므로, 자바스크립트의 (1.005).toFixed(2)는 "1.01"이 아니라 "1.00"을 돌려준다. 부동소수점의 원리는 계산 과학 노트에 있다.

정확도와 정밀도, 계통 오차와 우연 오차

두 낱말은 일상에서 섞어 쓰지만 측정에서는 다르다. 정확도(accuracy)는 측정값이 참값에 얼마나 가까운가, 정밀도(precision)는 같은 측정을 되풀이했을 때 값들이 서로 얼마나 가까운가다. 과녁으로 보면 정확도는 탄착의 중심이 한가운데에 있는가, 정밀도는 탄착이 얼마나 촘촘한가다. 촘촘하지만 한쪽으로 치우친 총은 정밀하지만 부정확하다.

정확도와 정밀도의 네 가지 조합을 과녁에 찍힌 탄착으로 보여 주는 그림정확 O · 정밀 O치우침 0.00흩어짐 0.09정확 X · 정밀 O치우침 0.51흩어짐 0.08정확 O · 정밀 X치우침 0.11흩어짐 0.46정확 X · 정밀 X치우침 0.39흩어짐 0.40
과녁 넷(고정 씨앗 난수로 쏜 10발). 치우침은 탄착 평균이 중심에서 떨어진 거리, 흩어짐은 탄착 평균 둘레의 RMS 거리이며 과녁 반지름을 1로 잡았다.

두 성질은 오차의 두 종류와 짝을 이룬다. 우연 오차는 잴 때마다 위아래로 흔들리는 오차로, 손떨림, 전기 잡음, 눈금 어림 같은 것이다. 방향이 제각각이라 여러 번 재서 평균하면 줄어든다. 계통 오차는 매번 같은 방향으로 치우치는 오차로, 영점이 안 맞은 저울, 늘어난 줄자, 늘 비스듬히 보는 눈금 읽기 같은 것이다. 이것은 몇 번을 재도 평균에 그대로 남는다. 계통 오차는 반복으로는 드러나지 않으므로 표준 시료로 장비를 교정하거나, 원리가 전혀 다른 방법으로 같은 양을 재 보아야 찾을 수 있다.

우연 오차는 반복해 평균하면 참값으로 모이지만 계통 오차는 평균해도 그대로 남는 것을 보여 주는 두 그래프우연 오차만(치우침 0, 흔들림 ±0.5)측정 1 → 20번20번 평균 9.92계통 오차(치우침 +0.6, 흔들림 ±0.15)측정 1 → 20번20번 평균 10.61참값 10
같은 양(참값 10)을 20번 잰 두 경우(고정 씨앗 난수). 선은 1번부터 n번까지의 누적 평균이다. 왼쪽은 흔들려도 평균이 참값으로 모이고, 오른쪽은 촘촘하지만 평균이 끝내 위에 머문다.

소프트웨어 성능 측정도 마찬가지다. 실행마다 흔들리는 시간은 여러 번 재서 분포로 보고, 늘 끼어드는 계통 오차(캐시가 데워지지 않은 첫 실행, 측정 도구 자체의 부하, 느려진 요청을 빼먹는 부하 생성기)는 따로 찾아 없애야 한다. 마지막 것은 부하 테스트 노트의 조정된 누락이 자세히 다룬다.

평균, 표준편차, 표준오차

같은 양을 n번 재면 대표값으로 평균 x̄ = (x1 + … + xn) / n을 쓴다. 값들이 평균 둘레에 얼마나 퍼졌는지는 표준편차 s = √(Σ(xi − x̄)2 / (n − 1))로 잰다. n이 아니라 n − 1로 나누는 것은, 참값 대신 같은 자료에서 구한 평균을 썼기 때문에 퍼짐이 조금 작게 나오는 것을 바로잡는 것이다. 표준편차는 "측정 하나가 얼마나 믿을 만한가"를 말하고, 측정을 늘려도 줄지 않는다. 측정 장비와 방법의 성질이기 때문이다.

반면 "평균이 얼마나 믿을 만한가"는 측정을 늘릴수록 좋아진다. 평균의 흔들림을 표준오차라 하며 s / √n이다. 측정을 4배로 늘리면 표준오차가 절반, 100배로 늘리면 10분의 1이 된다. 정밀도를 한 자리 올리려면 측정을 100배 해야 한다는 뜻이라, 반복만으로 정밀도를 사는 데는 금방 한계가 온다. 결과는 보통 "9.81 ± 0.03 m/s²(표준오차, n = 25)"처럼 무엇을 ±로 적었는지와 n을 함께 밝힌다.

개별 측정의 분포와 4개, 16개 평균의 분포를 겹쳐 그려 평균의 흔들림이 1/√n로 줄어드는 것을 보여 주는 그림−3−2−1참값+1+2+3측정 하나: σ = 14개 평균: σ/√4 = 0.516개 평균: σ/√16 = 0.25가로축: 참값에서 벗어난 정도(σ 단위). 넓이는 모두 1이라 좁아질수록 높아진다.
개별 측정의 분포(표준편차 σ)와 4개, 16개 평균의 분포(계산값). 평균의 분포 폭은 σ/√n으로 줄어든다. 단, 이것은 우연 오차의 이야기이고 계통 오차는 n과 상관없이 남는다.

표준편차, 분산, 중앙값, 사분위수의 정의와 신뢰 구간의 뜻은 확률과 통계 노트에서 수학적으로 다룬다.

불확도 전파: 합과 곱

측정에는 늘 불확도가 붙는다. 국제 지침 GUM은 이를 "참값이 있을 만한 범위의 폭"으로 보고, 표준편차와 같은 크기로 적는 표준 불확도를 기본으로 쓴다. 반복 측정의 통계로 구하면 A형, 장비 사양서나 눈금 간격 같은 다른 정보로 구하면 B형 평가다. 문제는 잰 값들로 다른 값을 계산할 때 불확도가 어떻게 따라가느냐다.

  • 합과 차: 서로 독립인 오차라면 절대 불확도를 제곱해 더하고 제곱근을 씌운다. 0.3과 0.4의 불확도를 가진 두 길이를 이으면 불확도는 0.7이 아니라 √(0.3² + 0.4²) = 0.5다. 두 오차가 같은 방향으로 최대가 될 가능성은 낮기 때문이다.
  • 곱과 몫: 상대 불확도(불확도 ÷ 값)를 같은 방식으로 합친다. 넓이, 밀도, 속력처럼 곱으로 만드는 양은 백분율로 생각하면 편하다.
  • 거듭제곱: xk의 상대 불확도는 x의 상대 불확도의 |k|배다. 반지름을 1% 틀리면 구의 부피는 3% 틀린다.
가로 20.0±0.6cm, 세로 10.0±0.4cm 직사각형의 넓이 불확도가 상대 불확도 3%와 4%의 제곱합 제곱근인 5%가 되는 그림L = 20.0 ± 0.6 cm (3%)W = 10.0 ± 0.4 cmA = 200 cm²± 10 cm² (5%)점선 = 각 변이 불확도만큼 크고 작을 때3%4%5%상대 불확도는 제곱해서 더한다√(3² + 4²) = 5, 그냥 더한 7%는 과대평가합·차라면 상대값 대신 절대 불확도를 같은 식으로
20.0 ± 0.6cm × 10.0 ± 0.4cm 직사각형. 상대 불확도 3%와 4%는 직각삼각형의 빗변처럼 합쳐져 넓이 불확도가 5%가 된다(계산값). 오차가 서로 독립이라는 가정 아래의 식이다.

이 식에서 실용적인 교훈이 나온다. 제곱해서 더하므로 가장 큰 불확도가 결과를 지배한다. 3%와 1%를 합치면 3.2%라 1% 쪽을 아무리 줄여도 결과는 거의 좋아지지 않는다. 실험을 개선할 때는 가장 큰 불확도 항목부터 손대야 한다. 오차가 서로 얽혀 있으면(같은 자로 가로와 세로를 쟀다면) 상관 항이 더해지며, 그때는 GUM의 일반식을 쓴다.

그래프 읽기와 최소제곱 직선

두 양의 관계는 표보다 그래프가 훨씬 빨리 보여 준다. 가로축에 바꾼 값(독립 변인), 세로축에 잰 값(종속 변인)을 놓고, 축마다 양의 이름과 단위를 적는다. 점들이 직선 둘레에 놓이면 비례 관계를 의심할 수 있다. 용수철에 추를 매달아 늘어난 길이를 재면 훅의 법칙대로 거의 직선이 된다.

점을 가장 잘 지나는 직선은 최소제곱법으로 고른다. 각 점에서 직선까지의 세로 거리(잔차)를 제곱해 모두 더한 값이 가장 작은 직선이다. 기울기 = Σ(x − x̄)(y − ȳ) / Σ(x − x̄)2, 절편 = ȳ − 기울기 × x̄라는 닫힌 식이 있어 바로 계산된다. 아래 예에서 기울기는 0.0500 ± 0.0007 cm/g이고, 단위를 맞추면 용수철 상수 k ≈ 19.6N/m다. 결정 계수 R²는 y의 흩어짐 가운데 직선이 설명하는 비율이다.

추 질량과 용수철이 늘어난 길이의 측정점, 최소제곱으로 맞춘 직선, 오른쪽에 잔차 그래프0100200300051015추 질량(g)늘어난 길이(cm)y = 0.0500x + 0.01R² = 0.9989잔차(cm)0 위아래로 고르게 흩어지면직선 모형이 맞는다는 신호
용수철 늘이기 자료 일곱 점(예시)과 최소제곱 직선. 빨간 선분이 잔차다. 오른쪽 잔차 그림에 굽은 패턴이 보이면 직선이 아닌 다른 모형을 찾아야 한다는 신호다.

R²가 높다고 모형이 맞는 것은 아니다. 굽은 관계에 직선을 맞춰도 R²가 0.9를 넘을 수 있다. 그래서 잔차를 그려 본다. 잔차가 0 둘레에 패턴 없이 흩어지면 직선 모형이 자료를 다 설명한 것이고, 활 모양이나 깔때기 모양이 보이면 무언가 빠졌다. 그래프로 봐야 하는 이유는 데이터 시각화 노트의 앤스컴 콰르텟이 잘 보여 준다.

직선이 아닌 관계도 축을 바꾸면 직선이 된다. y = a·xk 꼴의 거듭제곱 법칙은 양변에 로그를 씌우면 log y = log a + k·log x라, 로그-로그 그래프에서 기울기 k인 직선이 된다. 지수 관계 y = a·ebx는 세로축만 로그로 바꾼 반로그 그래프에서 직선이다. 행성의 궤도 반지름과 공전 주기를 로그-로그로 그려 직선을 맞추면 기울기가 1.500이 나온다. 주기의 제곱이 반지름의 세제곱에 비례한다는 케플러 제3법칙(T ∝ a1.5)이다.

행성의 궤도 반지름과 공전 주기를 보통 눈금과 로그-로그 눈금으로 그린 두 그래프. 로그 눈금에서는 기울기 1.5인 직선이 된다보통 눈금로그-로그 눈금051001020300.5125100.1110수성금성지구화성목성토성궤도 긴반지름(AU) → 주기(년)맞춘 기울기 1.500 → T ∝ a^1.5
행성 여섯의 궤도 긴반지름과 공전 주기(공전 주기는 년, 반지름은 AU). 보통 눈금에서는 휘어 있어 관계가 잘 안 보이지만 로그-로그 눈금에서는 기울기 1.5의 직선이 된다(맞춤은 계산값).

차원 분석과 페르미 추정

식의 양변은 단위(차원)가 같아야 한다. 이 단순한 규칙으로 계산 실수를 잡고, 때로는 식의 꼴까지 맞힐 수 있다. 진자의 주기 T가 추의 질량 m, 줄의 길이 L, 중력 가속도 g에 달려 있다고 하자. T = maLbgc로 놓고 차원을 맞추면, 시간 차원은 g(길이/시간²)에서만 나오므로 c = −1/2, 길이가 지워지려면 b = 1/2, 질량은 어디에도 없으니 a = 0이다. 곧 T ∝ √(L/g)이고 질량과 상관없다. 상수 2π는 차원 분석으로 얻을 수 없지만, 실제 식 T = 2π√(L/g)로 1m 진자의 주기를 계산하면 2.01초다. 이 방법을 일반화한 것이 버킹엄 π 정리이고, 풍동 실험을 실물 크기로 옮기는 데 쓰인다.

페르미 추정은 답을 모르는 큰 수를, 어림할 수 있는 작은 수의 곱으로 쪼개 자릿수를 얻는 방법이다. 물리학자 엔리코 페르미가 즐겨 낸 문제에서 이름이 왔다. 각 어림이 조금씩 틀려도 곱하는 동안 위아래로 상쇄되기 쉬워 결과의 자릿수는 꽤 믿을 만하다. 정확한 답보다 "10배 안쪽으로 맞는가"가 목적이다. 서버 용량 계획, 로그 저장 공간, 사용자 수 추정처럼 개발 일에도 그대로 쓴다.

평생 심장 박동 수를 1분 박동, 시간, 하루, 1년, 평생으로 차례로 곱해 약 30억 번을 얻는 단계 그림단계곱하는 어림값누적(회)1분 박동70 회/분701시간× 60 분/시4,200하루× 24 시/일100,8001년× 365 일/년36,792,000평생× 80 년2,943,360,000≈ 2.9 × 10⁹회 — 자릿수 10^9
1 / 6

출발점: 쉬는 사람의 맥박을 1분에 70회쯤으로 어림한다. 정확할 필요는 없고 자릿수만 맞으면 된다.

페르미 추정: 모르는 큰 수를, 알 만한 작은 수의 곱으로 쪼개 자릿수를 얻는다. 단계마다 곱하는 값은 어림이고 누적 곱은 계산값이다.

가설 검정과 p값

처치군과 대조군의 평균이 조금 다르게 나왔다. 진짜 효과일까, 우연한 흔들림일까? 가설 검정은 "효과가 없다"는 귀무가설을 세우고, 그 가설이 참이라면 지금만큼 큰 차이가 얼마나 자주 나올지 계산한다. 그 확률이 p값이다. 미리 정한 유의 수준 α(흔히 0.05)보다 작으면 귀무가설을 기각하고 "통계적으로 유의하다"고 말한다. 효과가 없는데 있다고 하는 것이 1종 오류(확률 α), 효과가 있는데 놓치는 것이 2종 오류이고, 효과가 있을 때 잡아낼 확률을 검정력이라 한다. 검정력은 표본이 클수록, 효과가 클수록, 측정이 정밀할수록 높다.

p값의 성질 하나가 오해를 많이 푼다. 효과가 정말 없으면 p값은 0과 1 사이에 고르게 퍼진다. 그러니 효과 없는 실험을 100번 하면 평균 5번은 p < 0.05가 우연히 나온다. 비교를 20번 하면 적어도 한 번 "유의"가 나올 확률이 64%다. 여러 지표나 여러 부분 집단을 들여다보고 유의한 것만 보고하는 것이 p-해킹이고, 그래서 비교 횟수만큼 기준을 엄격하게 하는 보정(본페로니 등)을 쓴다.

효과가 없을 때 p값이 0과 1 사이에 고르게 퍼져 약 5%가 0.05 아래로 떨어지고, 효과가 있을 때는 작은 p값이 몰리는 두 히스토그램효과 없음p < 0.05: 1,000번 중 41번00.51p값효과 있음(0.8σ)p < 0.05: 1,000번 중 723번00.51p값빨강 = 0~0.05 칸 · 점선 = 고르게 퍼졌을 때 한 칸 높이(50번)
두 집단 20명씩의 가상 실험을 1,000번 한 p값 분포(고정 씨앗 난수, 표준편차를 아는 z 검정). 효과가 없으면 막대가 고르고, 효과가 있으면 0 쪽에 몰린다. 120번을 넘는 막대는 위를 잘라 그렸다.

p값은 "귀무가설이 참일 확률"이 아니고, 효과가 얼마나 큰지도 말하지 않는다. 미국통계학회는 2016년 성명(The ASA Statement on p-Values)에서 이런 오해를 여섯 원칙으로 정리했다. 결과는 p값만이 아니라 효과 크기와 신뢰 구간을 함께 적는 것이 좋다. 계산과 오해의 자세한 목록은 확률과 통계 노트에, 실무 A/B 테스트에서 결과를 중간에 엿보면 안 되는 이유는 데이터 엔지니어링 노트에 있다.

상관과 인과

두 양이 함께 움직인다(상관)는 것과 하나가 다른 하나를 일으킨다(인과)는 것은 다르다. 상관이 보일 때 가능한 설명은 적어도 넷이다. A가 B를 일으킨다. B가 A를 일으킨다(역인과). 제3의 C가 둘 다 일으킨다(교란 변수). 그냥 우연이다. 아이스크림 판매와 물놀이 사고는 여름마다 함께 오르지만, 아이스크림이 사고를 일으키는 것이 아니라 더운 날씨가 둘 다 늘린다.

기온이 아이스크림 판매와 물놀이 사고의 공통 원인이라 두 변수가 인과 없이 상관하는 그림과 산점도기온(교란)아이스크림 판매물놀이 사고직접 인과 없음기온을 고정하면 상관이 사라진다아이스크림 판매 →사고 →월별 12점, r = 0.96
기온이 두 변수의 공통 원인이다(가짜 월별 자료, 계산값). 산점도만 보면 강한 상관이지만, 같은 기온의 달끼리 비교하면 관계가 거의 사라진다.

인과를 가장 확실히 보이는 방법은 앞에서 본 무작위 배정 실험이다. 무작위로 나누면 교란 변수가 두 집단에 고르게 퍼지므로, 남은 차이는 처치 탓이라고 말할 수 있다. 흡연과 폐암처럼 실험이 불가능하거나 비윤리적인 경우에는 관찰 연구에서 교란 변수를 통계로 보정하고, 용량이 늘수록 효과가 커지는지, 원인이 결과보다 먼저 오는지, 여러 집단에서 되풀이되는지, 생물학적 기전이 있는지를 함께 쌓아 인과를 추론한다. 집단을 나눠 보면 방향이 뒤집히는 심슨의 역설은 확률과 통계 노트에 있다.

동료 평가, 출판, 재현성 위기

연구 결과는 논문으로 학술지에 투고되고, 편집자가 범위와 수준을 본 뒤 같은 분야 전문가에게 심사를 맡긴다. 이것이 동료 평가다. 심사자는 방법의 결함, 결론의 비약, 빠진 대조군을 지적하고, 저자는 수정해 다시 낸다. 심사 전에 원고를 공개하는 프리프린트도 널리 쓰인다. 1991년 문을 연 arXiv가 물리학에서 시작해 수학, 컴퓨터 과학, 생물학으로 퍼졌다. 동료 평가는 명백한 결함을 거르는 문턱이지 결과가 참이라는 보증이 아니다. 심사자는 원자료를 다시 돌려 보지 않는 것이 보통이고, 진짜 검증은 출판 뒤 다른 연구실이 같은 실험을 다시 해 보는 재현에서 일어난다.

사전 등록에서 출판까지의 흐름과 심사 중 수정 고리, 출판 뒤 재현과 정정으로 이어지는 과정사전 등록가설·분석 계획연구 수행자료 수집투고논문 원고편집자범위·수준 확인동료 평가외부 전문가 심사출판학술지수정 요청 → 다시 제출프리프린트심사 전 공개(arXiv 등)재현 시도 · 반박 · 정정 · 철회동료 평가는 결함을 거르는 문턱이지 참의 보증이 아니다
연구가 출판되기까지와 그 뒤. 사전 등록은 자료를 보기 전에 가설과 분석 계획을 못 박아 둔다. 출판 뒤의 재현, 반박, 정정, 철회까지가 과학의 자기 교정 과정이다.

2010년대에 이 재현이 생각보다 잘 안 된다는 것이 드러났다. Open Science Collaboration은 심리학 학술지 세 곳의 연구 100편을 다시 실험했는데, 원래 연구는 97%가 유의한 결과였지만 재현 연구에서는 36%만 유의했다(Estimating the reproducibility of psychological science, Science 2015). 원인으로는 작은 표본(낮은 검정력), 유의한 결과만 실리는 출판 편향, 분석 방법을 결과를 보며 고르는 p-해킹, 결과를 본 뒤 가설을 지어내는 일(HARKing)이 꼽힌다. 존 이오아니디스는 2005년 논문(Why Most Published Research Findings Are False)에서, 시험하는 가설 가운데 참인 것이 드물고 검정력이 낮으면 "유의한" 결과의 상당수가 거짓일 수밖에 없다는 계산을 보였다.

가설 1,000개 중 참인 100개와 거짓인 900개를 검정했을 때 유의한 결과 125개 가운데 45개가 거짓 양성임을 칸으로 보여 주는 그림가설 1,000개(한 칸 = 1개): 참 100, 거짓 900참 효과, 잡음 80참 효과, 놓침 20효과 없음, 유의 45효과 없음, 유의 아님 855'유의' 판정 125개 중36%가 거짓 양성검정력 80% · 유의 수준 5%참일 사전 비율 10%
가설 1,000개 중 10%만 참이고 검정력 80%, 유의 수준 5%라면 '유의' 125개 중 45개, 곧 36%가 거짓 양성이다(계산값). p < 0.05가 "95% 확실하다"는 뜻이 아닌 이유다.

처방은 절차에 있다. 사전 등록은 자료를 모으기 전에 가설, 표본 크기, 분석 방법을 공개 등록부에 올려 두는 것이다(Center for Open Science: Preregistration). 의학에서는 임상 시험을 ClinicalTrials.gov 같은 등록부에 미리 올리는 것이 주요 학술지 게재 조건이 되었다. 결과와 상관없이 실어 주기로 연구 계획 단계에서 심사하는 사전 등록 보고서(Registered Reports), 자료와 코드 공개, 큰 표본, 여러 연구실이 함께 하는 재현 연구도 늘었다. 소프트웨어 테스트를 코드보다 먼저 쓰는 것이 "통과하도록 테스트를 고치는" 유혹을 막듯, 사전 등록은 결과를 본 뒤 기준을 옮기는 유혹을 막는다.

과학사의 짧은 예

과학적 방법은 누군가 한 번에 발명한 것이 아니라 여러 장면에서 조금씩 다듬어졌다.

  • 1543 코페르니쿠스: 『천구의 회전에 관하여』에서 태양을 중심에 둔 우주 모형을 냈다. 처음에는 예측 정확도가 프톨레마이오스 체계보다 크게 낫지 않았다. 더 단순한 설명이 받아들여지는 데에도 증거가 쌓일 시간이 필요했다.
  • 1609~1619 케플러: 튀코 브라헤의 정밀한 화성 관측 자료와 원 궤도의 계산이 어긋나는 작은 차이를 무시하지 않고 타원 궤도를 찾았다. 측정 오차보다 큰 어긋남은 이론을 바꿀 이유가 된다는 본보기다. 제3법칙은 1619년 책에 실렸다.
  • 1610 갈릴레오: 망원경으로 목성의 위성, 달의 산을 보고 『별의 전령』으로 발표했다. 같은 해 관측한 금성의 위상 변화는 프톨레마이오스 체계로는 설명할 수 없었다. 빗면에서 공을 굴려 시간과 거리를 재며 낙하를 수량화한 실험도 남겼다.
  • 1687 뉴턴: 『프린키피아』에서 운동 법칙과 만유인력으로 케플러의 법칙을 유도해, 하늘과 땅의 운동을 같은 법칙으로 묶었다. 자세한 물리는 물리학 노트에 있다.
  • 1747 제임스 린드: 괴혈병에 걸린 선원 열두 명을 둘씩 여섯 처방에 나눠 비교했고, 오렌지와 레몬을 먹은 쪽이 눈에 띄게 나았다. 같은 조건의 환자를 나란히 비교한 초기 대조 실험의 예로 꼽힌다(James Lind Library).
  • 1847 제멜바이스: 빈의 산과 병동에서 의사들이 염소 석회수로 손을 씻게 하자 산욕열 사망이 크게 줄었다. 자료는 뚜렷했지만 기전(세균)이 밝혀지기 전이라 당대에 널리 받아들여지지 않았다. 좋은 증거도 설명할 이론이 없으면 외면당할 수 있다.
  • 1919 에딩턴: 일식 때 태양 곁을 지나는 별빛이 휘는 정도를 재, 뉴턴 역학이 아니라 일반 상대성 이론의 예측에 맞는다고 발표했다. 틀릴 수 있는 위험한 예측이 살아남은 사례로, 포퍼가 반증 가능성을 설명할 때 든 예이기도 하다.
  • 1948 스트렙토마이신 시험: 영국 의학연구위원회가 결핵 환자를 무작위로 배정해 스트렙토마이신의 효과를 시험한 결과를 BMJ에 발표했다(BMJ 1948). 무작위 배정 임상 시험의 이정표로 꼽힌다.
1543년 코페르니쿠스부터 1948년 무작위 배정 임상 시험까지 과학적 방법의 몇 장면을 놓은 연표16001700180019001543 코페르니쿠스태양 중심설 출간1610 갈릴레오망원경 관측 발표1619 케플러제3법칙1687 뉴턴프린키피아1919 에딩턴일식 관측1747 린드괴혈병 비교 실험1847 제멜바이스손 소독1948 스트렙토마이신무작위 배정 시험
이 절의 장면을 연표에 놓았다. 위쪽(파랑 점)은 천문과 물리, 아래쪽(빨강 점)은 실험 설계와 의학이다.

흔한 오해

  • "이론은 그냥 추측이다." 일상어의 "이론"과 달리 과학의 이론은 많은 시험을 견딘 설명 체계다. 추측에 해당하는 말은 가설이다.
  • "법칙이 이론보다 더 확실하다." 법칙은 규칙성을 요약하고 이론은 그 까닭을 설명한다. 서로 등급이 아니라 역할이 다르며, 이론이 자라서 법칙이 되지도 않는다.
  • "과학은 사실을 증명한다." 수학은 증명하지만 경험 과학은 증거를 쌓아 신뢰를 높일 뿐이다. 그래서 새 증거가 나오면 결론을 고칠 수 있고, 그것이 약점이 아니라 강점이다.
  • "과학적 방법은 정해진 다섯 단계다." 순서는 설명용이다. 실제 연구는 우연한 관찰에서 시작하기도 하고, 단계를 오가며, 분야마다 실험 대신 관찰과 모형을 쓴다. 공통점은 예측을 걸고 시험하며 남이 확인할 수 있게 공개한다는 것이다.
  • "정밀하면 정확하다." 촘촘한 측정도 영점이 틀리면 모두 같이 틀린다. 반복은 우연 오차만 줄이고 계통 오차는 남긴다.
  • "자릿수가 많을수록 좋은 결과다." 측정이 보증하지 않는 자릿수는 거짓 정보다. 불확도에 맞춰 자른다.
  • "p < 0.05면 가설이 95% 참이다." p값은 귀무가설 아래에서 자료가 나올 확률이다. 가설이 참일 확률은 사전 확률과 검정력에 따라 크게 달라진다(위 칸 그림).
  • "유의하지 않으면 효과가 없다." 표본이 작으면 있는 효과도 못 잡는다. 효과의 크기와 신뢰 구간을 함께 본다.
  • "상관이 크면 인과다." 교란 변수, 역인과, 우연을 먼저 의심한다.
  • "동료 평가를 통과했으니 사실이다." 심사는 결함을 거르는 문턱이다. 재현과 후속 연구가 쌓여야 믿을 만해진다.
  • "갈릴레오가 피사의 사탑에서 공을 떨어뜨렸다." 이 이야기는 제자 비비아니가 쓴 전기에 나오지만 갈릴레오 자신의 기록에는 없어, 실제로 했는지 확실하지 않다. 갈릴레오가 남긴 실험 기록은 빗면에서 공을 굴린 것이다.

핵심 자료

통계의 수학은 확률과 통계 노트, 측정한 수를 컴퓨터로 다룰 때의 오차는 계산 과학 노트, 이 방법이 각 분야에서 쓰이는 모습은 물리학, 화학, 생물학, 지구과학 노트에 있다.

자료종류요지링크
The International System of Units (SI Brochure, 9판)표준 문서SI의 공식 정의서. 2019년 개정으로 일곱 정의 상수에서 모든 단위를 끌어내는 방식과 접두어, 표기 규칙을 담았다.BIPM
SI Units안내일곱 기본 단위를 하나씩 설명하는 NIST의 쉬운 안내 페이지. 단위마다 정의와 역사를 짧게 정리했다.NIST
NIST Technical Note 1297지침측정 불확도를 평가하고 표기하는 NIST의 지침. GUM을 짧게 풀어 쓴 판이라 처음 읽기 좋다.NIST
JCGM 100:2008 (GUM)국제 지침측정 불확도 표현 지침. 표준 불확도, A형·B형 평가, 합성 불확도와 전파 식의 원전이다.BIPM JCGM
Introductory Statistics 2e무료 교재기술 통계, 표본 분포, 신뢰 구간, 가설 검정, 회귀를 예제와 함께 다루는 대학 교양 통계 교과서.OpenStax
NIST/SEMATECH e-Handbook of Statistical Methods무료 핸드북실험 설계, 측정 공정 관리, 회귀와 모형 검사를 실무자 눈높이로 정리한 통계 핸드북.NIST
The ASA Statement on p-Values (2016)성명미국통계학회가 p값의 뜻과 한계를 여섯 원칙으로 정리했다. p값 오해를 다룰 때 가장 많이 인용된다.The American Statistician
Karl Popper철학 백과반증 가능성, 구획 문제, 귀납 비판을 포함한 포퍼 사상의 개관. 비판과 반론도 함께 정리했다.Stanford Encyclopedia of Philosophy
Preregistration안내연구 계획을 자료를 보기 전에 등록하는 방법과 등록부, 사전 등록 보고서(Registered Reports)를 소개한다.Center for Open Science