회귀분석/추가사항

회귀분석의 오해와 잘못 이해하고 있는 점1

학위논문통계 2014. 6. 18. 16:40

책을 찾아보지 않고 써서 용어 사용에서 착오가 있을 수 있습니다. 혹시 이상한 것이 있으면 댓글을 달아 주시고요.

 

회귀분석에 대한 오해나 잘못알고 있는 부분에 대해서 다시 한번 간단히 정리하고 가겠습니다. 앞에 쓴 내용과 중복되는 내용이 많이 있을 겁니다.

 

 

1. 단순회귀(simple regression)와 다중회귀(multiple regression).

 

책에는 단순회귀와 다중회귀라는 용어로 회귀분석을 구별하고 있는데 앞에서도 이야기했지만 그냥 회귀분석이라 합니다. 왜냐하면 단순회귀도 사실 이론적으로는 독립변수가 2개 들어가는 모양이기 때문입니다.

 

 

통상 책에 design matrix라는 말이 나옵니다. 이건 데이터 중에서 독립변수에 해당하는 행렬입니다. 예를 들어 키가 몸무게에 미치는 영향을 알아본다고 하죠. 그럼 우리 회귀분석 모형은

 

 

몸무게=b0+b1*키

 

 

이렇게 됩니다. 그럼 이건 단순회귀분석이죠. 데이터는 아래 모양으로 될 겁니다. 엑셀이나 SPSS에서 데이터 모양을 이야기합니다.

 

Id

몸무게

1

173.3

70.48

2

168.4

63.25

3

160.19

52.15

4

177.45

63.28

...

...

...

 

그러나 실제 이론상에서는, 똑 통계프로그램 상에서는 상수항에 해당하는 변수값 [1,1,1,...,1]이 들어가 있는 것처럼 생각하고 이론을 전개하거나 통계프로그램이 들어갑니다.

 

즉, 이론상. 실제 SPSS에서 계산상에서의 데이터는 아래 모양입니다.

 

Id

상수

몸무게

1

1

173.3

70.48

2

1

168.4

63.25

3

1

160.19

52.15

4

1

177.45

63.28

...

...

...

...

 

 

여기서 상수와 키에 해당하는 값만 모은 것이 통상 회귀분석 책의 X행렬, 즉 디자인 행렬입니다.

 

그래서 왜 다중회귀라는 말을 안 썼냐 이런 촌스런 말은 더 이상 안했으면 좋겠습니다. 그냥 회귀분석이라 하면 됩니다. 단지 단순회귀분석이란 말을 쓰는 이유는 처음 회귀분석을 배울 때 쉽게 설명하기 위해서 구별한 것에 불과합니다. 바로 이론으로 들어가면 행렬를 바로 써야 하거든요.

 

 

 

 

2. 표본수와 독립변수 수

 

 

다른 분석에도 마찬가지로 표본의 크기, 또는 설문대상자 수가 많으면 많을수록 유의적인 차이가 있는 경우, 또는 유의적인 영향력이 있는 경우가 나올 가능성이 높아집니다. 예를 들어 설문대상자를 만명으로 하여 통계 결과를 내면 거의 대부분이 유의적으로 나옵니다. 별표로 떡칠을 하는 것이죠.

 

 

반대로 이야기하면 표본수가 적으면, 즉 설문대상자가 적으면 유의적인 차이가 없거나 유의적인 영향력이 없다고 나올 가능성이 매우 높습니다. 그래서 논문의 의미가 없게 되는 것이죠.

 

 

그래서 이런 상황이 두려우면 표본수, 즉 설문대상자를 늘이면 됩니다. 이런 문제 때문에 사회과학에서 유효크기(effective size)라는 말이 나오는 것이죠. 표본수가 적으면 실제 분석하고자 하는 대상간의 차이 변동에 비해 설명되지 않는 변동이 상대적으로 매우 크게 됩니다. 남녀간의 성적차이 변동보다 상대적으로 성별에 의해 설명되지 않는 변동이 훨씬 크게 된다는 것이죠.

 

 

그러나 제 생각에는 이런 문제를 떠나 근본적으로 가설검증 이론이 가지고 있는 한계가 아니간 싶습니다.

 

 

귀무가설은 남녀간의 성적차이가 없다.

대립가설은 남녀간의 성적차이가 있다.

 

 

이런 경우 실제 모집단의 남녀의 성적 차이는 조금이라도 나게 되어 있거든요. 그럼 표본수가 매우 크게 되면 이 경우 사실상 모집단을 조사하는 것이라 마찬가지가 되는데 그럼 항상 귀무가설은 기각되고 대립가설은 채택된다는 것이죠. 이런 생각이 듭니다.

 

 

회귀분석도 마찬가지입니다.

 

 

귀무가설은 b=0

대립가설은 b=0이 아니다.

 

 

실제 모집단에서는 b는 0하고 조금이라도 차이가 있거든요. 그럼 표본수가 엄청 커지면 당연히 귀무가설은 기각되고 대립가설은 채택된다는 것이죠.

 

 

회귀분석에서 독립변수를 많이 하면 많이 할수록 영향력이 없다고 나올 가능성이 많습니다. 독립변수를 많이 하면 이 독립변수가 종속변수에 미치는 영향력이 점점 분산된다는 것이죠. 그래서 독립변수가 하나일 경우가 영향력이 있다고 나올 가능성이 가장 높고, 독립변수가 많으면 영향력이 있다고 나올 가능성이 상당히 줄어듭니다. 물론 항상 이렇게 되는 것은 아닙니다. 독립변수가 늘어나면 자유도가 변해서 이런 현상을 일정 부분 막아준는데 그 한계가 있다는 것이죠.

 

 

독립변수가 하나인 경우, 즉 단순회귀의 경우, 이 경우는 사실상 상관계수 분석이랑 결과가 똑같습니다. 상관계수 분석에서는 독립변수와 종속변수간에 유의적인 상관관계가 있다고 나오는데 독립변수가 여러개 들어간 회귀분석에서는 이 독립변수가 종속변수에 영향력이 없다고 나오는 경우가 거의 99% 정도 됩니다. 이게 독립변수가 많이 들어가면 종속변수에 미치는 영향력이 각 독립변수로 산개되어 상대적으로 영향력이 적어지기 때문입니다.

그러나 종속변수에 전혀 영향력이 없어 보이는 변수를 독립변수에 많이 집어 넣으면 이 경우 오히려 독립변수가 영향력이 있다고 나올 가능성이 있습니다. 영향력이 산개되는 현상보다 자유도 변화가 유의성에 더 영향을 미치는 것이죠.

 

 

그래서 만약 독립변수가 종속변수에 영향력이 없다고 나와 논문의 의미가 없게 나오면 종속변수에 영향력이 없는 인구통계 변인을 통제변수로 집어 넣으면 연구대상 독립변수가 종속변수에 유의적인 영향력이 있다고 나올 가능성이 높아집니다. 완전 사기죠.

 

 

그럼 종속변수에 영향력이 없는 인구통계 변인을 어떻게 찾는가? 이건 t나 분산분석을 해보면 알 수 있습니다. 유의적인 차이가 없는 인구통계 변인을 찾으면 됩니다. 특히 p 값에 1에 가까울수록 종속변수에 유의적인 차이가 적은 변인이겠죠.

 

 

 

3. 통제변수와 독립변수

 

자연과학이나 통계학과에서 회귀분석을 하는 이유와 사회과학에서 회귀분석을 하는 이유가 좀 다릅니다. 자연과학이나 통계학과에서는 종속변수를 가장 잘 설명하는 모형, 즉 독립변수를 찾는 것이고, 일반 사회과학에서는 자기가 관심을 가지고 있는 독립변수가 종속변수에 영향이 있는가 없는가 하는 가설 검증에 관심을 가지고 있습니다.

 

 

즉 자연과학은 종속변수가 주 관심이고 사회과학은 독립변수가 주 관심입니다. 이게 실제 변석에서 어떤 차이를 가져오는가 하는 점이죠. 자연과학에서는 독립변수를 설정할 때 종속변수에 영향을 미칠만 한 변수는 다 고려해야 합니다. 그래서 회귀분석을 돌려 영향력이 있는 독립변수만 골라서 이걸 최종 회귀분석 모형으로 선택합니다.

 

 최종 회귀분석 모형을 만드는 것은 주관적인 판단이고, 또 주관적인 판단을 배제하고 오로지 수식값만으로 찾는다고 해도 독립변수가 많으면 매우 힘든 작업입니다. 이럴 경우 통계프로그램에서 자동적으로 이 문제를 해결해 줍니다. SPSS에서 stepwise, 전진, 후진 제거법 이런 메뉴가 있는데 이게 최종 회귀 분석모형을 찾는 메뉴입니다.

 

 

사회과학에서는 통상 이렇게 안합니다. 종속변수에 영향을 미칠만한 모든 변수를 다 독립변수로 고려하지 않고 자기가 관심 있는, 연구대상 변수만 통상 독립변수로 설정합니다. 그래서 사회과학에서는 결정계수의 값이 상당히 낮게 나오는 경우가 많습니다. 당연하죠. 자기가 고려한 독립변수만이 종속변수에 미치는 설명력이니까 낮게 나올 수 밖에 없죠. 종속변수에 영향을 미칠만한 기타 변수들을 다 고려하여 회귀분석을 하면 결정계수 값이 상당히 올라갈겁니다.

 

 

참, 결정계수 R2 은 특별한 의미가 있는 값이 아닙니다. 이 값이 너무 낮으면 좀 곤란하다는 것이지 이 값을 가지고 가설검증이나 어떤 의미를 부여하는 것이 아닙니다. 이 값에 대해 이상한 설명을 한 분들이 많은데 아마 사회과학 통계방법론에 있는 잘못된 내용을 쓴 것 같습니다. R2에서 R은 상관계수를 이야기합니다. 대강 이야기하면 독립변수와 종속변수간의 상관계수를 이야기하는 것이죠. 결정계수가 0.25이면 상관계수는 0.5로 매우 큽니다. 결정계수가 0.09이면 상관계수는 0.3이고요. 상관계수 0.3은 낮은 값이 결코 아닙니다.

 

 

하여간 사회과학에서 이렇게 연구변수 말고 종속변수에 영향을 미치는 변수를 모형에 집어 넣는 변수를 통제변수라 합니다. 즉. 기술적으로 모두 독립변수입니다. 그러나 통제변수는 연구관심 대상 변수가 아니고 단지 연구대상 독립변수가 종속변수에 미치는 영향을 연구하는데 있어 다른 변수가 종속변수에 영향을 미칠 때 이 변수의 영향력을 제외하려고 독립변수에 넣는 변수입니다. 좀 이상한 말이죠. 영향력을 제외하려면 회귀분석 모형에 독립변수로 집어넣어야 합니다.

 

 

일반적으로 사회과학에서는 인구통계 변인을 집어 넣습니다. 설문조사 같은 경우 다른 변수들이 없지요. 연구대상 변수와 인구통계 변인 이것 밖에 설문지에 없으니까요.

 

 

문제는 통제변수를 넣어도 문제고 안 넣어도 문제입니다. 회귀분석 이론상 어떤 독립변수가 종속변수에 미치는 영향력, 설명력은 칼로 두부 짜르듯이 딱 짤라지는 것이 아닙니다. 독립변수 A와 B가 있다고 하면 변수 A가 종속변수를 설명하는 정도와 변수 B가 종속변수를 설명하는 정도가 서로 겹친다는 것이죠. 구축효과라고 합니다.

 

 

그래서 통제변수를 넣지 않으면 연구대상 독립변수의 영향력이 과대평가되는 경향이 있고, 통제변수를 넣으면 독립변수의 영향력이 과소평가되는 경향이 있습니다.

 

 

또 다른 문제는 앞에서도 이야기했지만 일반 사회과학에서는 종속변수에 영향을 미치는 독립변수 모두를 고려하지 않습니다. 몆 몇 변수만 독립변수로 잡고 이 변수를 연구대상으로 한정을 한다는 것이죠. 그럼 결정계수 값이 매우 낮게 나오는 경우가 많듯이 이 연구대상 변수 말고, 또 인구통계 변인 말고 종속변수에 영향을 미치는 변수는 여전히 많이 있다는 것이죠. 인구통계 변인을 회귀분석 모형에 넣어도 결국 아직도 제대로 통제하지 못한 변수들이 매우 많다는 것이죠. 결국 제대로 통제하지 못하고 회귀분석을 돌리기는 마찬가지라는 것이죠.

 

 

하여간 논문 쓸 때 인구통계 변인을 통제변수를 넣어라고 하면 넣어야죠. 그럼 이때 어떻게 해야 할까요. 제가 판단하기에는 t 검증이나 분산분석을 해서 종속변수에서 유의적인 차이를 보이는 인구통계 변인을 통제변수로 넣는 것이 가장 바람직한 것 같습니다. 그러나 앞에서 이야기했지만 이럴 경우 연구대상 독립변수가 영향력이 없다고 나올 가능성이 많다는 것이죠.

 

 

인구통계 변인은 거의 다 범주형 자료입니다. 제가 판단하기에 순위형 변수, 성별, 학력, 연령, 직책, 근무년수 등 보기가 크기 개념이 있는 경우 연속형 변수로 처리하여 그냥 회귀분석 모형에 집어 넣어도 무방할 것 같고요.

그러나 설문지 보기가 크기 개념이 없는 명목형 변수인 경우, 즉 직업, 산업, 종교 등과 같은 변수는 더미변수화 해야 합니다.

 

 

직업이 설문지에 네 개의 보기로 되어 있다고 하죠. 설문지에 1) 직장인, 2) 주부, 3)학생, 4) 기타 이렇게 네 개의 보기로 되어 있으면 더미변수를 세 개 만들어야 합니다.

 

 

직장인=(1, 0, 0), 주부=(0,1,0), 학생=(0,0,1), 기타=(0,0,0)

 

 

이렇게 해야 합니다. 잘 이해가 안되죠. 실제 데이터를 한번 볼까요

 

Id

직업

직장인

주부

학생

1

2

0

1

0

2

1

1

0

0

3

3

0

0

1

4

4

0

0

0

 

 

처음 직업에 2는 설문지에 주부에 해당하죠. 그럼 옆으로 (0, 1, 0) 이렇게 값을 주고, 다음 직업의 1은 직장인이죠. 그럼 옆으로 (1, 0, 0) 이렇게 값을 주고 마지막 4는 기타 직업이죠. 그럼 옆으로 (0, 0, 0) 이렇게 값을 줍니다. 마지막 (0, 0, 0) 이렇게 값을 주는 범주를 기저 범주라고 합니다. 그래서 SPSS 회귀분석을 할 때 직업을 통제변수로 넣을 때 위의 직업을 선택하는 것이 아니라, 직장인, 주부, 학생 이 세 개의 더미변수를 독립변수로 집어 넣어야 합니다.

 

 

그래서 실제 회귀분석 모형에 성별, 학력, 연령, 직업이 통제변수로 들어가면

 

<표 > 삶의 질에 영향을 미치는 독립변수

변인

비표준

표준

회귀계수

t 값

p 값

B

s.e.

상수

성별

-0.191

학력

0.201

연령

직장인

0.147

주부

=0.111

학생

독립변수1

독립변수2

 

 

이런 형태로 나옵니다. 만약 성별에서 B=-0.191 나왔다면 어떻게 해석될까요. 통상 설문지에 남자=1, 여자=2로 코딩되어 있습니다. 이 경우 회귀계수가 음수이므로 남자에서 여자로 갈 때 삶의 질이 떨어진다는 것입니다. 삶의 질이 5점 Likert 척도라고 하면 남자보다 여자가 Likert 척도에서 0.191 척도만큼 낮다는 것이고요. 학력에서는 B=0.201이니까 이 경우 학력이 높으면 삶의 질이 상승한다는 것이죠. 그래서 고졸에서 전문대졸로 갈 때 약 0.201 Likert 척도 정도 삶의 질이 올라가고, 전문대졸에서 대졸로 학력이 높아질때 약 0.201 Likert 척도 정도로 삶의 질이 올라간다는 것입니댜. 실제로는 데이터에서는 떨어질 수 있습니다. 이건 고졸부터 대졸이상 까지 전반적인 경향을 이야기하는 것입니다.

 

 

그럼 직업에 해당하는 직장인, 주부, 학생은 어떻게 해석될까요. 앞의 데이터 코딩 표를 다시 한번 보시죠. 직장인은 직장인이 경우 1로 코딩하고 직장인이 아닌 경우 0으로 코딩되어 있습니다. 그래서 직장인에 해당하는 B=0.147이니까 이건 0에서 1로 갈 때 삶의 질이 Likert 척도로 0.147 올라간다는 이야기입니다. 즉 직장인이 직장인이 아닌 사람보다 삶으 질이 0.147 크다는 이야기입니다.

 

 

주부도 마찬가지입니다. 주부라는 변수는 주부는 1, 주부가 아닌 경우 0으로 코딩되어 있습니다. 주부가 아닌 경우에서 주부로 갈 때 즉, 0에서 1로 갈 때 삶의 질이 -0.111 떨어진다는 이야기입니다.

 

 

그럼 이럴 경우 도대체 직업이라는 것이 삶의 질에 영향을 미치는지 아닌 지는 어떻게 판단할 수 있을까요? 직장인이나, 주부, 학생의 줄에 나오는 t 값이나 p 값은 직장인인 경우와 아닌 경우, 주부인 경우와 아닌 경우, 학생인 경우와 아닌 경우에 삶의 질에서 차이가 있는지 검증하는 값이지 직업별로 삶의 질에 차이가 있는지 검증하는 것이 아닙니다.

 

 

그냥 회귀분석을 한다면 직업에 해당하는 세 개 변인을 빼고 모든 변수를 1단계 회귀분석에 넣고 2단계에 직업에 해당하는 세 개의 더미 변수를 추가로 집어 넣습니다. 그리고 SPSS 옵션에서 결정계수 증가량을 선택하시면 결정계수 증가에 따른 F 값이 결과물에 나옵니다. 이걸 보시고 결정하시면 됩니다. 이럴 경우 하라고 나온 것이 단계적 회귀분석(통계학에서는 이런 용어가 없습니다)이지 위계적 회귀분석을 하라고 단계적 회귀분석을 하는 것이 아닙니다.

 

 

너무 복잡하죠. 먼저 직업 변수를 가지고 세 개의 더미 변수를 새로 만들어야 하고 또 직업이 삶의 질에 영향을 미치는지 제대로 알아보려고 하면 단계별 회귀분석을 해야 합니다. 이렇게 하지 않고 바로 하려고 하면 SPSS에서 일반회귀분석을 하시면 됩니다.

 

 

SPSS에서

Analyze ==> general linear model ==> univariate ==> covariate에서 독립변수1과 독립변수2를 넣고, Fixed factor 에 직업을 넣으시고 옵션에서 parameter estimates를 선택하면 그냥 회귀분석에서 한 결과와 똑같이 나옵니다. SPSS에서는 여기서 직업의 기저 변인을 아마 제일 마지막 범주, 즉 기타 직종을 잡을 겁니다. 확실히 기억이 안 나네요.

 

 

여기서 covariate에서 학력, 연령을 집어 넣으면 우리 결과와 똑 같은 결과를 얻을 수 있고요, Fixed facot에 집어 넣으면 이 경우는 학력, 연령도 직업과 마찬가지로 더미변수화 하여 분석 결과가 나옵니다.

 

 

원래 이 메뉴는 covariate에 해당하는 변수를 통제변수로 하고 Fixed factor에 따라 종속변수에 유의적인 차이가 있는지 없는지 보는 분석입니다. 앞에 회귀분석에서 인구통계변인을 통제변수로 넣는 경우랑 전혀 반대이죠. 그러나 회귀분석 결과는 같습니다. 공변량 분석을 하라고 하면 이 분석을 하면 됩니다.

 

 

요새 교육학과에서 실험의 효과를 보는데 공변량 분석을 하라고 요구하는데가 많습니다. 사후점수를 종속변수로 하고 사전점수를 covariate에 넣고, 그리고 Fixed factor에 집단, 즉 통제집단=0, 실험집단=1로 코딩된 변수를 집어 넣으면 됩니다.

 

 

다음은 회귀분석표에 나오는 F값, t 값, F 증가값에 대해 더 이야기해보죠.

'회귀분석 > 추가사항' 카테고리의 다른 글

추가설명력 F 검증과 마스킹 효과  (0) 2013.04.24