2012년 9월 4일 화요일

Office2 HD 구입

아이패드용의 두번째 유료 앱으로서 Office2 HD를 구입하였다. iWork 패키지가 정답일 수도 있겠지만, 가격이 좀 부담스럽다. MS Office 파일과의 호환성도 좋은 편이고, 가격도 저렴하다. 사이즈가 큰 파일은 튕겨낸다는 보고가 있기는 하다.

영문이지만 도움말도 충분히 지원된다. 이 앱에서 지원하는 기능들이 iWork에도 그대로 있는지는 잘 모르겠다. 가령 와이파이를 통해 PC에서 아이패드의 로컬 파일을 꺼내오는 기능 같은 것.

구글 드라이브나 드롭박스는 잘 지원하고 있는데, iCloud와는 어떻게 연동되는지를 모르겠다. 아니, 정확히 말해서 내가 iCloud를 제대로 이해하고 있는지에 대해서도 자신이 없다. 다큐먼트나 프레젠테이션 파일 저장소로서 iCloud를 쓸 수 있다는 것인가? 그렇다면 iWork만 이것이 가능한 것일까, 아니면 Office2 HD도 그렇다는 뜻일까?

iCloud 문서의 특징은 여러 기기에서 동기화를 해 준다는 것이지, 단순한 저장공간으로서의  의미는 아닌 것으로 보이는데... 아, 잘 모르겠다.

Google+ 일단 해지..그러나 곧 재가입

더 이상 사생활이 없는 사회라고 하는데, 나는 세상을 거꾸로 살고 있는 것인가?

구글 플러스(이하 g+이라 하겠다)의 여러 서비스들에 아직 적응을 하기 어렵고, 친구를 만들고 공유를 하고... 이런 것들이 부담스러워서 일단은 해지를 하고 말았다.

g+을 해지하면 웹 앨범을 사용하는 것도 불편해지는 것으로 보이는데... 아니, 조금 더 심각하게 생각을 해보자. 가족이나 일상의 사진을 공개된 장소에 올리는 것이 정말 올바른 것인지, 혹은 안전한 것인지도 고민을 해 봐야 되겠다.

공개 프로필을 만드는 것은 나도 찬성을 하는 바이다. 하지만 행아웃이나 서클 같은 서비스는 아직 익숙하지가 않다. 페이스북도 초기에 조금 하다가 말았고, 트위터는 전혀 하지 않는다. 나의 목적에 가장 잘 맞는 서비스는 무엇일지...

g+의 이름은 영문으로 해야 될까, 아니면 국문으로 해야 될까? 조금 더 고민을 해 본 다음에 결정하도록 하자.

[2012년 10월 5일 업데이트]

구글+에 재가입하여 조금씩 활동 범위를 넓혀 나가고 있다. 처음에는 이 시스템이 어떻게 돌아가는 것인지 이해하기 어려웠는데, 이제서야 조금 알 것 같다.

2012년 8월 30일 목요일

안드로이드폰과 아이패드, 그리고 우분투

같이 사용하기에는 매우 이질적인 요소들이다. MS 윈도우를 사용한다면 조금은 더 나을지도  모르는 일이다. 애플의 모바일기기를 동기화시키는데 필요한 PC용 프로그램이 존재하니까. 대부분의 연구 관련 업무는 우분투에서 하고 있으며, 한/글이나 오피스 작업을 할 때에만 버츄얼박스로 윈도우를 구동시키고 있다. 그나마 드롭박스는 리눅스용 클라이언트가 있어서 불편함을 덜어주고 있다.

요즘은 네이버 블로그 포스팅이 조금씩 줄어드는 것 같다. 구글의 서비스에서 사진을 정리하면서, 정말 직관적이고 편리하다는 것을 느낀다. 웹 브라우저 안에서 그렇게 다양한 조작을 하면서 ActiveX 하나 없이 이렇게 매끄럽게 할 수 있다니! 네이버는 어떤가? 왜 제어판의 프로그램 리스트를 보면 왜 이렇게 거추장스러운 프로그램을 많이 깔아야 하는 것인가? 

아직 구글의 서비스들을 완벽하게 이해하고 있지는 못하다. 사진을 태그한다는 것은 무슨 의미인지, 왜 크롬에서 구글 서비스들을 한 화면에 늘어놓고 있을 때 구글 블로거는 왜 나타나지 않는 것인지... 

탈옥을 하지 않은 상태에서는 파일 하나도 맘대로 복사하지 못하는 아이패드, 뭐든지 알아서 해야 하는 리눅스... 덕분에 공부는 많이 하고 있다. 어렵사리 무선인터넷 환경도 구축하였고, 구글의 개인 및 그룹명 캘린더를 아이패드에 동기화하는 것까지 성공하였다. 이제는 구글의 주소록을 아이패드로 가져오는 방법을 알아볼 차례인데, 지메일에서 메일을 보내기 되므로 아직은 그다지 절실하지는 않다. 

다음에는 또 무엇을?

영문으로 이름쓰기

한국인으로서 영문으로 이름(성명)을 쓰려면 다음과 같은 두 가지의 문제가 있다.

1. 한국어 발음을 어떻게 정확하게 영문으로 옮길 것인가.
2. 성과 이름의 순서는 어떻게 하는 것이 옳은가.
3. 다음절의 경우 떼어서 쓸 것인가, 붙여서 쓸 것인가, 혹은 하이픈(-)을 넣을 것인가? 하이픈을 넣는 경우 뒤에 오는 음절의 첫글자는 대문자 혹은 소문자로 할 것인가?

1은 정말 어려운 문제이다. 우리 글이 비록 표음문자로서 적지 못할 소리가 없다고는 하지만, 꼭 그런것만은 아니다. 현재 통용되는 로마자 표기법은 다음의 사이트에서 참조할 수 있다.

http://www.korean.go.kr/09_new/dic/rule/rule_roman_0101.jsp (국립국어원)

이를 그대로 따른다면 내 이름의 '영'은 yeong으로 적어야 한다. 그러나 Park이나 Lee와 같이 실제로 국어 발음과 차이가 있지만 이와 비슷한 영어 단어가 있는 경우 그것을 그대로 쓰는 경우가 적지 않다. 그래서 나는 습관적으로 young으로 적고 있다. Lee라고 적지 않고 Yi라고 하는 것이 자존심을 지키는 일일까? 잘 모르겠다. 영어만을 놓고 본다면, 우리말의 '어'나 '으'에 정확히 해당하는 모음이 없다는 것이 문제다. 그러니 '서'씨를 표기 표준안에 따라 'Seo'로 표기한다면 영미인은 '세오' 비슷하게 발음할 것이다. 차선책으로 'Suh'도 있지만, 이는 '어'도 아니고 '아'도 아니라서 실제 한국에서 통용되는 발음과 차이가 있다.

특히 국어에서는 ㄱ,ㄷ,ㅈ 등이 처음에 오는 경우 무성음이 되므로 영미인에게는 '푸산(부산)'이나 '태전(대전)'으로 들리게 된다. 하지만 최근의 표준안에서는 이를 표기에 인정하지 않기로 하였으므로, 과거 Pusan으로 표기되던 부산은 Busan이 되었다. 상황이 이러하니 부산 국제 영화제는 영문 약자로는 여전히 PIFF이다. 또 우리의 'ㅅ' 발음은 영어의 s와 완전히 동등한 것도 아니니...

(요즘 느끼는 것인데, '수'나 '스'처음 받침이 없는 파열음이 앞에 나오는 국어 발음의 경우 모음을 거의 소리내지 않는 경우가 많은 것 같다. 평소 습관대로 '수박'을 빨리 발음해 보라. 아기들에게 말을 가르칠 때처럼 한 음절씩 또렷하게 발음하는 것 말고. 아마 '우' 모음은 거의 소리내지 않고 'ㅅ박'처럼 말하고 있을 것이다)

2번 역시 쉽지 않은 문제. 서양의 관습에 따라 성을 나중에 적는 것이 일반적이지만, 언론에 오르내리는 유명인의 경우 동양의 관습대로 성을 먼저 표기하는 경우도 다반사이다. 이를 명확히 하려면 Jeong, Haeyoung과 같이 성을 앞에 쓰고 쉼표를 찍거나, Haeyoung JEONG과 같이 성 전체를 대문자로 쓰는 방법이 있을 수 있다. 아니면 유명인이 일단 되고 나면, 동양식으로 성을 먼저 적는 권세를 누릴 수 있으리라.

3은 또 어떻게 해야 하는가? Haeyoung인가, Hae Young인가, Hae-Young인가, Hae-young인가? 두번째 방식으로 표기하는 사람이 꽤 많은데, 이는 서양인에게 Young을 미들 네임으로 혼동하게 만들 여지가 있다. 국립국어원의 규정을 따르자면 Hae-young이 맞는 것처럼 보인다(제3장 표기상의 유의점 제2항). 그러나 제2항에서 규정한 것은 '발음상 혼동의 우려가 있을 때에는 음절 사이에 붙임표(-)를 쓸 수 있다'라는 것이다. '중앙'을 Jungang으로 표기해 놓으면 '준강'으로 발음할 수도 있는데, 이를 Jung-ang으로 하면 명확해진다. Jung-Ang은 옳지 않은 듯. 따라서 혼동할 우려가 없는 내 이름의 경우 Haeyoung이 가장 좋은 표기법이다.

생각나는 대로 적다보니 좀 길어졌다. 언어는 생물과 같아서 계속 변하는데, 대중의 발음 현실이 변하는 속도를 글로 적는 규정은 따라가질 못한다. 현실은 받아들이되, 혼란을 초래할 정도로 표준이 변해서는 안될 것이다. 이러한 국내의 변화와 더불어 타 언어로 국어를 표현할 일도 점점 많아지고 있으니 정신을 바짝 차리고 옳은 '말글살이'를 하기 위해 노력해야 할 것이다.

2012년 8월 28일 화요일

리눅스를 이용하여 인터넷 공유하기

네트워크 어댑터가 2장 달린 컴퓨터라면 여러 가지의 일을 할 수 있다. 그 중 대표적인 것이 인터넷을 공유하는 것이다. 꽤 오래전 iptables가 나오기 전, ipchains를 이용하여 제한된 공식 IP 주소를 가지고 회사 내부의 컴퓨터를 외부 인터넷에 연결하도록 만든 적이 있었다. 기억이 정확하지는 않지만 아마도 알파 프로세서가 달린 컴퓨터를 이용했던 것 같다.

이제는 사양이 좀 뒤떨어지긴 했지만, 그래도 Xeon CPU가 달린 '서버' 보드를 쓰면서 내장되어 있는 네트워크 어댑터를 단 한장만 쓰고 있다니 이 어찌 부끄럽지 않은가! 기억을 더듬고 구글에 의존하면서 인터넷을 공유하는 방법을 알아보자.

우선 가장 간단한 환경에서 시작한다. 공식 IP 주소가 할당된 리눅스 컴퓨터가 있고(eth0), 여기에 네트워크 어댑터가 하나 더 있다고 가정하자(eth1). 그리고 인터넷 공유에 사용할 클라이언트 PC는 단 한대 뿐이라고 하자. 그러면 클라이언트 PC에 사설 IP를 부여한 뒤 이것과 리눅스 서버의 eth1을 크로스케이블로 연결한다. 그리고 리눅스 측에서 관리자 권한으로 다음과 같이 입력한다. 사실 여기서 보인 예제는 너무나 단순하다. 모름지기 방화벽이라면, 관리자의 입맛에 맞게 세부적인 설정을 할 줄 알아야 한다!


# echo 1 > /proc/sys/net/ipv4/ip_forward
# iptables -P FORWARD DROP
# iptables -A FORWARD -o eth0 -j ACCEPT
# iptables -A FORWARD -o eth1 -j ACCEPT
# iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
# ifconfig eth1 192.168.0.1 up

파랑색으로 표시한 첫번째와 마지막 줄에 대해서만 간단히 부연 설명을 하도록 하자. 정확히 말하자면 '인터넷 공유'는 리눅스의 현대적인 커널에 포함된 Netfilter subsystem이 담당하는 방화벽(firewall)기능 중의 일부에 지나지 않는다. 리눅스에서는 iptables가 이 기능을 하는데, 우분투에서는 이를 좀 더 편하게 설정하기 위해 ufw라는 유틸리티를 제공한다. 나는 iptables에 조금 더 친숙하므로, 이를 대상으로 설명하도록 하겠다.  첫번째 줄에 해당하는 것은 /etc/sysctl.conf 파일에서 다음 줄을 찾아 코멘트를 제거한 뒤 sudo sysctl -p 명령으로 설정을 적용하는 것으로 대신할 수 있다.

net.ipv4.ip_forward=1

마지막 줄은 일반적인 네트워크 카드 설정 메뉴에서 IP 주소를 부여하듯이 하면 된다. 아마 게이트웨이는 설정하지 않아도 될 것이다.

클라이언트 PC에서는

IP 주소: 192.168.0.2
서브넷 마스크: 255.255.255.0
게이트웨이: 192.168.0.1
DNS 서버: 환경에 맞는 것으로

이렇게만 해 두면 일단은 클라이언트 PC에서 인터넷을 사용할 수 있다. 하지만 여기에는 몇 가지 문제점이 따른다.

  1. 리눅스 서버를 껐다가 켜면 iptables 설정을 다시 해야 한다(변명: 실제로 서버측을 재부팅해 보았는데 여전히 클라이언트측에서는 인터넷 공유가 되고 있다. iptables 설정을 셧다운시에 자동으로 저장했다가 재부팅 시 다시 적용하도록 이미 셋업되어 있는 것으로 보인다)
  2. 클라이언트를 여러 대 쓰려면 사설 IP 주소를 어떻게 배정해야 할지 생각을 해야 한다(DHCP 서버 사용 - 수십대의 클라이언트 PC를 물릴 것이 아니므로, 그다지 절실하지는 않다).
그러면 각 상황별로 어떻게 하면 되는지 알아보도록 하자... 구글링을 하는 것도 좋지만, 우분투 support page의 공식 문서를 참조하는 것이 가장 확실한 방법이다. 나는 지금 우분투 서버 가이드(PDF file)를 읽고 있는 중이다.

iptables를 이용한 masquerading

'인터넷 공유(internet connection sharing)'라는 쉬운 표현을 썼지만, IP masquerading이 정확한 표현이다. IP masquerading은 외부에서 도달할 수 없는(non-routable) IP 주소를 갖는 사설 머신이 masqueraing을 제공하는 장비를 통해 외부 인터넷으로 접속하게 해 주는 것이라고 설명할 수 있다. 이를 가능하게 하려면, 내부에서 나오는 소스의 패킷을 변조(!)하여 마치 masquerading을 제공하는 장비로부터 나오는 것처럼 만들어야 하고, 다시 외부에서 들어오는 패킷에 대해 마찬가지의 수정을 가해서 이를 요청했던 사설 장비로 다시 되돌아가게 해야 한다.

기본 개념에 대해 설명하자면, 그 깊이는 이루 헤아리기 어렵다. "패킷"의 개념은 대충 이해하고 있다. 네크워크 상에서 전송될 내용물을 일정하게 자른 뒤, 최종 목적지(주소라고 해 두자)를 헤더에 적어 놓은 것을 패킷이라고 보면 된다. 그러면 체인은 무엇인가? 패킷들이 지나게 될 통로라고 하면 될까? 정책(ACCEPT, DENY, DROP)은 특정 체인을 지나가는 패킷에게 실제로 가해지는 동작으로서 이해하기는 쉽다. 체인에는 PREROUTING, INPUT, FORWARD, OUTPUT, 그리고 POSTROUTING의 다섯 가지가 있다. 위키피디아의 iptables 항목을 아무리 읽어 보아도 체인에 대한 설명은 잘 이해가 가지 않는다. 그러나 다행스러운 것은, 우분투 문서는 이론보다는 실전 예제 중심으로 되어 있다는 것. 위키피디아의 체인에 대한 설명 부분을 그냥 복사해 왔다. 두고 두고 반복하여 읽으면서 음미하도록 하자.


  • “PREROUTING”: Packets will enter this chain before a routing decision is made.
  • “INPUT”: Packet is going to be locally delivered. (N.B.: It does not have anything to do with processes having a socket open. Local delivery is controlled by the “local-delivery” routing table: `ip route show table local`.)
  • “FORWARD”: All packets that have been routed and were not for local delivery will traverse this chain.
  • “OUTPUT”: Packets sent from the machine itself will be visiting this chain.
  • “POSTROUTING”: Routing decision has been made. Packets enter this chain just before handing them off to the hardware.

윈도우 클라이언트가 접속할 내부 사설 IP를 192.168.0.0/24라고 가정하자. 그러면 다음과 같은 단일 iptables rule로 마스커레이딩이 가능하다. eth0은 외부로 향하는 네크워크 어댑터이다. 혹시 네트워크/호스트 ID의 표현 방법, 서브넷 나누는 방법 등의 사항이 궁금하면 Linux Network Configuration 페이지를 참조하자. 나도 아직 완벽하게 이해하고 있지 못하다^^

sudo iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE

재부팅시에도 이를 적용하려면 /etc/rc.local에 이 내용을 기록해 두면 된다. 단. /sbin/iptables라고 full path를 지정하지 않았더니 실행을 하지 못하는 띨띨함을 보였다! 또는 iptables-save와 iptables-restore 명령을 잘 쓰면 되겠다.

다음 내용은 아직 완벽하게 이해하지 못했다.

Also, each chain in the filter table (the default table, and where most or all packet filtering occurs) has a default policy of ACCEPT, but if you are creating a firewall in addition to a gateway device, you may have set the policies to DROP or REJECT, in which case your masqueraded traffic needs to be allowed through the FORWARD chain for the above rule to work:

sudo iptables -A FORWARD -s 192.168.0.0/16 -o ppp0 -j ACCEPT
sudo iptables -A FORWARD -d 192.168.0.0/16 -m state --state ESTABLISHED,RELATED -i ppp0 -j ACCEPT

The above commands will allow all connections from your local network to the Internet and all traffic related to those connections to return to the machine that initiated them.

* 참조한 사이트: 우분투 서버 가이드, http://www.yolinux.com/TUTORIALS/LinuxTutorialIptablesNetworkGateway.html

2012년 8월 4일 토요일

통계의 기본 개념을 잘 설명한 유용한 사이트

스마트폰을 뒤적거리다가 우연히 발견하게 된 사이트이다.

품질공학 강좌(Taguchi methods)

타구찌 법(Taguchi methods)라는 품질공학 기법을 소개하는 사이트인데, 제 6편에서 통계의 기초에 대한 내용을 매우 명쾌하게 설명해 주고 있어서 소개하고자 한다. 내가 종종 들추어보는 Biostatistics 책의 서문에서도 "이 책은 오로지 sample mean에 대한 내용을 다루고 있다"고 하지 않았던가? sample mean으로부터 모집단의 특성을 유추하고자 하는 것, 이것이 바로 통계를 공부하고 활용하는 중요 목적 중 하나이다. 이를 위해 기본 개념을 확실하게 다져 두는 것이 중요한 것이다.

2012년 8월 3일 금요일

가설 검정의 기본-모평균에 대한 가설 검정

[미리 밝히는 글] 이 글은 대학을 졸업한지 20년이 넘었지만 아직도 통계에 대한 기본 개념이 부족한 본인의 무지를 일깨우기 위해 다시 공부를 한다는 자세로 작성하고 있는 것이다. 따라서 오류나 잘못 설명된 부분이 있을 수 있다. 혹시 인터넷 서핑 중에 이 글을 발견한 독자가 있으시다면, 그저 수학적 지식이 부족한 전통적인 생물학자가 작성한 에세이 정도로 생각해 주시길.

보통의 기초 통계학 교과서에서는 점추정, 구간 추정에 대한 설명이 나온 뒤 바로 가설 검정에 관한 부분이 이어진다. 종이에 종 모양의 그림을 그리고 수직선을 몇 개 그은 뒤 여기가 기각역이고 유의수준이 어쩌고... 기계적으로 암기하고 단순한 문제를 풀 수는 있다. 그런데 진정한 이해가 뒷받침되지 않으니 내 의식은 20년이 넘게 무지와 몰이해의 늪을 헤매고 있는 듯하다. 정말 부끄러운 일이 아닐 수 없다.

가설 검정의 이론에 대한 설명은 여러 가지 방법이 가능하다. 내가 갖고 있는 기초 통계학 책만 해도 대여섯권은 될 터이니. 이 글에서는 UC Berkeley의 Steve Selvin이 지은 BIOSTATISTICS: How It Works (Pearson 2004)의 187쪽부터 나오는 부분을 공부하면서 느낀 바를 요약하고자 한다.

통계적 가설(statistical hypothesis)을 아주 단순하게 정의한다면, sampled variable의 확률 분포에 대해 짐작하는 것을 의미하다. 예를 들자면 이런 것이다. "특정한 관찰값을 나오게 한 모집단의 평균값은 얼마이다" 이런... 여기에서 그리스 알파벳을 어떻게 적어야 하는 거지.

일반적으로 가설 검정은 귀무가설 H0과 대립가설 H1 중 하나를 고르는 과정이 된다. 물론 이 과정에는 오류가 있을 수 있다. H0가 옳은데도 기각하게 되는 것을 Type I error 혹은 false positive error라 한다. 반대로, H1이 옳은데도 이를 받아들이지 않는 오류를 Type II error 혹은 false negative error라 부른다. 그러면 무엇을 귀무가설로 설정할 것인가? 현재까지의 일반적인 믿음을 귀무가설로 하는 것이 정석이다. 예를 들어 고혈압 치료제의 효능을 검사하는 경우를 생각해 보자. 약을 투여한 사람에 대해서 혈압을 측정했더니 어떤 평균값이 얻어졌다고 하자. 이때의 귀무 가설은, 이들의 혈압은 투여하지 않은 상태의 평균치와 같다는 것이 귀무 가설이된다. 이 고혈압 환자의 수축기 평균 혈압은 140 mmHg이었다. 그런데 이들 중 20명을 취해서 약을 투여한 뒤 다시 혈압을 재어 평균을 내니 134가 나왔다고 하자. 분명 134는 140과 다른 수치이다. 그러나 모평균이 140인 집단에서 20명을 취하여 아무런 조치를 취하지 않은 상태에서 혈압을 재면 random variation에 의해 134라는 값이 나올 가능성은 얼마든지 있다. 따라서 이러한 차이는 약물에 의한 것이 아니라 정상적인 확률 분포에서 있을 수 있는 일이 벌어진 것이라고 결론을 내린다면, 결국 귀무 가설을 기각하지 못하는 것이다. 이번에는 약물 투여군의 평균 수축기 혈압이 131이라고 해 보자. 알려진 모평균보다는 좀 더 멀어졌다. 만약 이 표본 평균이 모평균에 비해 점점 멀어진다면, 이러한 차이는 확률 분포에 의해 자연스럽게 일어졌다고 보기는 점점 어려워진다. 차라리 약물투여군의 평균 혈압(모평균)이 아예 낮아졌다고 보는 것이 더 타당하게 된다. 이렇듯 알려진 모평균과 실제 측정한 표본평균 사이의 차이가 얼마나 멀어지면 귀무가설을 기각하는 것이 타당할까? 이에 대한 기준을 제시하는 것이 바로 유의수준(1%나 5%와 같은 확률로 주어짐)이고, 귀무가설을 기각할 수 있는 측정값의 경계가 되는 값이 바로 critical value(임계값)이다.

유의수준이란, 귀무가설이 참인데도 불구하고 대립가설을 채택하게 될 확률이다. 즉 유의수준이란 Type I error가 발생할 확률을 의미하며, 1 - (유의수준) = (신뢰도)이다. 다시 한 번 위의 예제를 들어 설명해 보자. 이 고혈압 환자의 평균 수축기 혈압은 140이고, 정규분포를 한다고 가정하면 이론적으로는 30이나 350과 같은 극단적인 수치가 나올 가능성이 있다. 그러나 이런 값이 나올 가능성은 매우 낮다. 100번에 1번(쉽게 말해 1%) 나올 정도로 모평균에서 먼 값이 나온다면, 차라리 모평균 자체가 다르다고 가정하는 것이 낫다. 여기서의 1%가 바로 유의수준이 되는 것이다.

여기서 또 부끄러운 고백을 아니할 수 없다. 가설 검정 문제에서 표본 평균이 항상 나오게 되므로, 나는 그동안 표본 평균으로부터 모평균이 포함될 신뢰구간을 구해 놓고서는 귀무가설에서의 모평균이 이 구간내에 있는지 혹은 바깥에 있는지를 가지고 가설을 검정하려고 했었다. 그런데 지금 와서 기초 통계 교과서를 살펴보면 이런 방식으로 접근하는 것이 보이지 않는다. 아마도 대부분의 교과서에서 신뢰구간 다음에 가설 검정이 나오기 때문에 이런 오해를 하게 된 것 같다. 이러한 방식의 풀이가 수학적으로 정말 맞는지를 증명할 실력은 되지 않는다. 일단은 잘못된(?) 믿음을 버리고, 일반적인 풀이의 방법으로 되돌아가도록 하자.

그러면 다시 Selvin의 책 190쪽에 나온 예제로 돌아가 보도록 하자. 어떤 집단의 혈압 모평균이 130 mm Hg이고 분산은 400으로 알려져 있다. 새로운 약을 투여했더니 16명의 무작위 표본으로부터 평균 120 mm Hg의 혈압 측정값을 얻을 수 있었다. 이 약은 정말로 혈압을 낮추는 효과가 있을까?

H0 : 혈압은 여전히 130이다(약물의 효과가 없다)
H1 : 혈압은 120이다(130보다 낮다).

표본평균이 130에 충분히 가깝다면 귀무가설을 채택해야 하고, 상당히 멀다면(130보다 상당히 작다면) 대립가설을 채택해야 한다. 그렇다면 가까운 정도를 정의해야 할 것이다. 첫번째 과정에서는 귀무가설을 기각시킬 수 있는 표본 평균의 값 c를 결정해야 한다. 이때 모든 c의 범위를 기각역이라고 한다. 본 예제에서는 표본평균 < c 이면 귀무가설을 기각하도록 하는 c를 구해야 한다. 임계치는 Type I error가 충분히 작아지도록 만드는 값으로부터 결정한다.


(흐유, 한컴오피스 한/글에서 수식 입력하느라 힘들었다) 위의 식에서 c의 값을 계산할 수 있다. 실제 계산을 해 보면 c = 121.8이다. 만일 표본평균이 이보다 작으면, 귀무가설은 기간한다. 단측검정 혹은 양측검정의 여부는 대립가설의 형태에 따라 정해진다. 

Type I error의 확률에 기반하여 기각역을 결정했다면, 다음으로는 Type II error를 생각해 보도록 하자. Type II error는 어떤 경우에 발생하는가? 모평균이 변해서 이에 따라 표본평균도 다르게 나왔는데, 이를 random variation에 의해 차이가 발생했다고 생각하고 귀무가설을 그대로 인정한다면 바로 Type II error를 범하게 되는 것이다.