회귀분석/회귀분석,Regression

회귀분석2

학위논문통계 2013. 3. 16. 15:19

 

 

1. 이제는 실제 논문에서 회귀분석 결과를 어떻게 만들고 어떻게 해석하는지 알아보겠습니다. 특수대학원에 다니시는 분이나 학계 비슷한 곳에 진출할 생각이 없으시면 앞 부분만 보시면 되고요, 유학을 간다든지, 아니면 연구소 계통에 진출할 의향이 계시면 뒤 부분도 보시는 것이 좋고요. 물론 회귀분석을 제대로 이해하려면 선형대수, 즉 행렬에 관련된 수학 공부를 어느 정도 하셔야 합니다. Projection, Hat matrix, 피타고라스 정리 정도만 이해하셔도 회귀분석에 대해 상당히 많이 아실 수 있습니다. 그리고 사회과학 쪽에 유학을 가셔 장학금을 받기를 원하시면 SPSS를 잘하면 기회가 많고요. 미국에서 진짜 직장을 얻어서 좀 좋은 보수를 바라시면 SAS을 잘하시면 좋습니다.

 

 

 

통계를 전문적으로 심각하게 사용할 경우는 S-plus가 낫지만, 현재 이 프로그램은 망했고, 그 대신 공짜 프로그램 R이 있는데 국내에서도 책도 나오고, 유저 그룹도 있는 것으로 압니다. 그러나 SAS나 R을 잘하시려면 어느 정도 초보적인 컴퓨터 프로그램 하는 능력을 기르셔야 합니다.

 

 

먼저 회귀분석하기 전에 왜 회귀분석을 하는지 그 이유를 알아야 합니다. 첫째. 기본적으로 우리가 관심을 가지고 있는 현상의 밑바탕에 깔려 있는 규칙을 알고 싶어 하는 것입니다. 둘째. 알려진 규칙을 통하여 종속변수를 변하게 하는 것이 목적입니다. 이 종속변수를 변하게 하려면 그 원인이 되는 독립변수를 변하게 해야 합니다. 따라서 논문의 결론에서 이런 회귀분석을 통해 나온 유의적인 영향이 있는 변수를 정책적으로 바꿔야 한다는 이야기가 나와야 합니다. 즉 이 예에서 기업의 이직의도가 심각한 문제라고 생각하면 여기서 나온 영향력이 있는 독립변수를 어떻게 하든지 고쳐야 합니다. 이런 점을 논문의 결론에서 써야 합니다.

 

 

여기는 통제 변수를 넣어서 이야기도 길고 내용도 복잡해졌지만 실제로 통제변수를 넣는 경우는 사회복지학과를 빼고는 그리 많지 않습니다. 그래서 분석을 의뢰할 경우 최근 학과에서 통과된 논문을 보내 주시는 것이 좋습니다. 특히 주심과 부심이 참가한 논문요. 그래야지 골치아픈 추가 분석을 피할 수가 있습니다. 구조방정식도 그렇고요.

 

그래서 통제 변수에 너무 신경을 쓸 필요는 없지만 한번 읽으시면 좋을실 것입니다.

 

지금 예는 종속변수는 이직의도입니다. 그리고 이직의도에 미치는 영향을 변수인 독립변수로 성별, 학력, 부서, 스트레스 종류, 조직문화를 꼽았습니다. 그리고 표에 있는 값은 완전 가상이고 설명에 필요한 부분만 값을 넣었습니다.

 

 

 

독립변인

비표준

표준회귀

계수

t 값

p 값

회귀계수

표준오차

상수

0.124

 

.

1.029

0.176

성별

0.178

 

 

1.987

0.034*

학력

-0.202

 

 

-2.140

0.029*

부서

 

 

 

 

 

영업

-0.114

 

 

-0.921

0.214

생산

0.222

 

 

2.784

0.008**

경제스트

0.201

 

0.098

2.460

0.011*

직무스트

0.198

 

0.107

2.202

0.037*

환경스트

0.097

 

0.022

0.476

0.783

인간관계 스트

-0.101

 

-0.043

-0.187

0.097

조직문화

-0.221

 

0.134

3.457

0.003**

모형통계량

R

R2

수정 R2

F 값

p 값

0.400

0.160

0.132

34.532

0.000***

* p<.05, ** p<.01, *** p<.001

 

 

우리가 관심이 있는 독립변수는 스트레스와 조직문화이기 때문에 위의 상수항이나 통제변수에 해당하는 성별, 학력, 부서에 대해서는 해석을 안하셔도 됩니다. 조직문화는 통상 조직론에서 4가지 유형으로 많이 나누지만 여기서는 단순하게 값이 높으면 조직문화가 좋은 것이고 값이 낮으면 조직문화가 안 좋은 것, 즉 폐쇄적이고, 권위적인 조직문화를 나타내는 것으로 하죠.

 

 

 

 

1. 기본 해석

 

보면 스트레스 중 경제적 스트레스와 직무스트레스는 이직의도에 정(+)의 유의적인 영향력이 있고, 조직문화는 이직의도에 유의적인 부(-)의 영향력이 있습니다. 회귀계수의 부호를 보시면 알죠. 즉 경제적 스트레스나 직무스트레스 올라갈수록 이직의도는 올라가지만, 조직문화는 긍정적인 조직문화일수록 이직의도는 낮아지는 것으로 나왔습니다. 그래서 결과는 어느 정도 합리적으로 나왔습니다.

 

해석에 쓸 필요는 없지만 환경스트레스는 이직의도에 정(+)의 영향력이 있지만 이건 유의적인 영향력이 아닙니다. 즉 표본 추출에 따라 나온 우연한 영향력이라 보는 것이죠. 인간관계 스트레스는 유의적이지 않지만 상식과 다르게 이직의도에 부(-)의 영향력이 나왔습니다. 즉 유의적이지는 않지만 조직문화가 좋을수록 이직의도가 높게 나왔죠. 그러나 이건 신경 쓸 필요가 없습니다. 계속 이야기 하지만 유의적이지 않는 것은 신경 쓸 필요가 없습니다. 이것도 우연히 나왔다고 보는 것이죠. 하여간 이 점은 나중에 다시 설명하겠습니다.

 

위의 내용은 그냥 통계적인 설명에 불과합니다. 여기에 첨부할 내용은 기존 선행 연구와 비교라든지, 현실적인 의미등을 본인이 첨가를 하셔야 합니다. 이건 통계분석 쪽에 집어 넣을 수도 있고, 아니면 뒤의 결론 부분에 집어 넣을 수도 있습니다. 이건 논문 심사위원 마음입니다. 편집에 불과하니까 하라는 대로 하시면 됩니다.

 

 

 

2. 표의 해석

 

이 회귀분석을 하기 위한 데이터 형태를 보죠. 먼저 성별은 남자=1, 여자=2, 학력은 고졸이하=1, 전문대 졸=2, 대졸이상=3, 부서는 내근=1, 영업=2, 생산=3, 그리고 스트레스 종류나 조직문화는 Likert 5점 척도입니다. 그럼 아래는 데이터 형태입니다. 스트레스 종류나 조직문화 상세 문항은 편의상 제외하고 분석에 사용되는 평균값만 넣었습니다.

 

ID

성별

학력

부서

경스

직스

환스

인스

조직문화

1

1

3

1

7/3

9/4

15/4

11/3

24/7

2

2

2

2

 

10/4

12/4

16/3

21/7

...

 

 

 

 

 

 

 

 

200

1

1

3

 

12/4

8/4

13/3

29/7

 

경제적 스트레스 평균값은 3으로 나눠져 있으니까 경제적 스트레스를 측정하는 실제 문항은 3개 인줄 눈치챘겠지요. 그리고 조직문화는 7로 나눠져 있으니까 조직문화를 측정하는 실제 설문지 문항은 전부 7개이고요. 그럼 각 변수들에 대해 언급할 점을 설명하겠습니다.

 

 

1) 성별

 

  성별은 남자가 1, 여자가 2입니다. 그리고 회귀계수는 0.178입니다. 즉 1에서 2로 올라갈 때, 즉 남자에서 여자로 갈 때 이직의도가 0.178 올라간다는 이야기입니다. 즉 남자와 여자간의 이직의도에서 차이가 있고, 여자가 이직의도가 높고, 또 p 값에 *가 있으니까 그 차이는 통계적으로 유의적인 차이입니다. 즉 표본 추출에 따라 나온 우연한 차이가 아니라는 것이죠.

 

그럼 흔히 하는 더미변수, 즉 남자=0, 여자=1로 측정하면 어떻게 될까요? 결과는 안달라집니다. 단지 우리가 별 관심없는 상수항(수학에서 y 절편값)만 달라집니다. 생각해보면 설문지에서 통상 보기 부호와 달리

 

1. 여러분의 성별은?

0) 남자, 1) 여자

 

이렇게 되어 있어서, 남자를 0, 여자를 1로 코딩했는데 통계 결과가 달라지면 곤란하겠죠.

마찬가지로 여자=1, 남자=2로 하면 달라지는 것은 회귀계수나 t 값의 부호만 달라집니다. 그래서 실제 해석은 같게 됩니다.

 

 

 

2) 학력

 

  학력은 고졸이하=1, 전문대 졸=2, 대졸이상=3으로 했습니다. 앞에서 이야기 한 것처럼 코딩 순서를 달리하면 회귀계수나 t 값의 부호만 달라지고 해석은 똑같습니다. 단지 일상생활에서 학력이 높을수록이라는 말을 자주 쓰니까 코딩을 이런 식으로 하는 것입니다.

여기서는 학력이 한 단계 올라갈수록 이직의도가 -.0202 떨어지네요. 즉 고학력자를 우대하는 회사인 것 같습니다.

 

여기서 학력은 순위형으로 마치 연속형 변수인 것처럼 사용하였습니다. 그러나 이건 앞의 글에서 이야기 했듯이 약간 문제가 있습니다. 만약 집안 경제력에서 하=1, 중=2, 고=3이라고 하면 상관분석이나 회귀분석에서는 고소득층의 소득이 저소득의 소득보다 3배 높다는 이야기 이건든요. 이건 말이 안되죠. 우리나라에서는 7-8 배 이상은 될 것 같습니다.

 

그럼 우리나라 실제 집안 경제 수준에 맞춰 하=1, 중=4, 고=8 이렇게 코딩하면 좀 낫겠죠. 그러나 실제 우리나라 경제 현황까지 조사해 가면서 하려면 시간과 돈이 엄청나게 들겠죠. 여기서는 단순하게 통제변수로 넣었고, 기껏해야 집안 경제력과 이직의도간의 일반적인 관계를 보는 것에 불과한데요. 따라서 엄밀하게 집안경제력과 이직의도에 대해 분석하려면 집안경제력을 연속형 척도 비슷하게 데이터를 만들어야 합니다. 그러나 그렇게 엄밀한 분석을 요구하지 않으면 위의 코딩도 무난합니다.

 

하여간 학력은 범주형으로 했기 때문에 다음에 있는 부서 변수와 같이 더미 변수로 하기 요규하는 교수가 있을 수 있습니다. 그러나 그 경우에도 문제가 생긴다는 것이죠. 이건 다음 부서별에서 이야기 하죠.

 

질문) 학력을 1, 2, 3으로 코딩하지 않고, 1, 4, 6으로 코딩하면 회귀계수가 어떻게 변할까요?

 

 

 

3. 부서별

 

  부서별은 전형적인 명목형 변수입니다. 그래서 코딩된 값 1, 2, 3은 분석에서 사용할 수 없습니다. 숫자로 되어 있지만 실제로는 순위나 선호, 크기의 개념을 가진 값들이 아니거든요. 그러나 지난번 인종에서 이야기 했지만 이것도 순서나 순위형 변수로 생각해 처리할 수 있습니다. 즉 육체적 노동의 요구 수준별로 자기 나름대로 순위를 세워 분석할 수 있다는 것이죠. 하여간 여기서는 명목형 변수로 생각해서 더미변수화 했습니다. 통상 명목형 변수는 먼저 기저 범주를 정합니다. 여기서는 내근직을 기저 범주로 정했습니다. 그럼 기저 변인은 값을 내근=(0,0)의 값을 가집니다. 그 다음 영업=(1, 0), 생산=(0,1)로 처리합니다.

 

즉 아래 표처럼 데이터에서 새로 더미변수화 데이터를 만들어야 합니다. 그래서 실제 회귀분석시 부서라는 변수를 독립변수로 넣지 않고, 부서1, 부서2를 독립변수로 넣습니다. 표에서는 부서1은 영업, 부서2는 생산이라고 이름이 들어 있습니다.

 

 

부서

부서1

부서2

 

3

0

1

 

1

0

0

 

2

1

0

 

2

1

0

 

 

그래서 명목형 변수의 범주가 3개 이면 2 개의 새 더미 변수, 범주가 4개인 명목형 변수면 3개의 새 더미 변수를 만들어야 합니다. 그럼 왜 이런 모양으로 만들까요? 예를 들어 내근=(1, 0, 0), 영업=(0, 1, 0), 생산=(0, 0, 1) 이런 식으로 세 개의 변수를 만들면 더 이해하기 쉬운데요. 불행하게도 이렇게 변수를 만들면 회귀분석 자체가 돌지가 않습니다. 중고등학교에서 배운 방정식에서 부정이라는 현상이 일어납니다. 더 자세히 가면 골치가 아플 것 같아 그만 두고요.

 

그래서 이렇게 부서라는 하나의 명목형 변수를 가지고 두 개의 더미 변수 부서1, 부서2를 만들었습니다. 그럼 먼저 부서1이라는 변수를 보죠. 자세히 보면 영업은 1, 영업이 아닌 내근과 생산은 0이라고 코딩된 변수입니다. 부서2는 생산은 1, 생산이 아닌 영업이나 내근은 0이라고 코딩된 변수이죠.

 

그럼 회귀분석 표를 다시 보죠.

 

부서1은 표에서 영업이라 표시했죠. 왜 영업이라고 썼는지 이젠 이해가 되시죠. 영업이 아닌 부서는 0, 영업인 부서는 1로 코딩되었기 때문이죠. 따라서 회귀계수 -0.114는 영업이 아닌 부서에서 영업인 부서로 갈 때, 이직의도가 0.144 떨어진다, 즉 영업인 부서는 영업이 아닌 부서보다 이직의도가 Likert 척도에서 0.114 정도 낮다는 이야기입니다. 그러나 이건 유의적인 차이가 아니고요.

 

그럼 부서2를 보죠. 이건 생산이라고 표에 이름을 주었죠. 즉 생산이 아닌 경우=0, 생산부서인 경우=1, 이렇게 코딩되어 있는 것이죠. 회귀계수를 보면 0.222이니까 생산이 아닌 부서에서 생산이 부서로 갈 때 이직의도가 Likert 5점 척도에서 0.222만큼 이직의도가 올라간다는 것이죠. 그것도 p 값의 *표를 보면 유의적인, 의미있는 차이입니다. 따라서 생산부서의 이직의도를 낮추려는 노력을 해야 하겠지요.

 

자 그럼 다음과 같은 질문이 생길 수가 있습니다.

 

1. 음... 그럼 내근직은 어떻게 비교하죠. 여기서는 할 수 없습니다. 내근직과 비교하려면 기저 범주를 내근으로 잡지 말고 영업이나 생산을 잡고 다시 새로 더미변수화 해서 분석해야 합니다. 그런데 시간과 돈을 투자해서 이런 작업을 계속 할 만큼 중요한 작업인가요? 그냥 차이 분석에서 나온 분산분석의 F 검증과 사후검증을 하시면 됩니다.

 

2. 가만 보니까 우리가 원하는 것이 아닌 것 같네요. 우리가 원하는 것은 부서별로 이직의도에 차이가 있는지, 다른 말로 부서 변인이 이직의도에 영향을 미치는 독립변수인지를 알고 싶은 것인데 위의 회귀분석은 영업과 영업아닌 사람, 생산과 생산이 아닌 사람간의 차이 분석이잖아뇨.

 

예. 맞습니다. 우리가 원하는 부서별로 이직의도가 차이가 있는지, 즉 부서별이 이직의도에 영향을 미치는지를 알려면 위 방법 가지고는 안되고요, 그리고 t 값이 아닌 F 값을 구해야 합니다. 이걸 어떻게 하나고요. 이게 SPSS에서 block 설정하는 이유입니다. 1단계에서는 부서변인을 때고 다른 독립변수를 다 집어 넣고, 2단계에서는 위 더미변수 부서1, 부서2를 추가로 집어넣고 선택사항에 결정계수 증가를 선택하시면 우리가 원하는 F 값도 p 값이 나옵니다. 여기에 나오는 p 값을 보고, 부서별로 이직의도에 차이가 있는지, 즉 부서가 이직의도에 영향을 미치는지 판단을 합니다.

 

그럼 명목변수가 여러개 있으면 어떻게 합니까? 별 방법 없습니다. 해당 명목변수에 따라 앞에서 이야기한 것처럼 똑 같은 과정을 밟아서 일일이 해야 합니다. 한마디로 미친 짓이죠.

 

그럼 정말 이렇게 복잡하게 해야합니까? 아닙니다. SPSS에서 공변량 분석을 해서 다른 변수들은 공변량으로 처리하고 원하는 명목형 변수는 요인으로 처리해 주면 골치 아픈 더미변수로 만들지 않아도 되고, 회귀분석에서 block 설정할 필요도 없고 알아서 프로그램 안에서 다 처리해서 결과를 내줍니다.

 

회귀분석은 할 이야기가 많으니까 앞으로 조금 더 쓰겠습니다. 다음은 비표준화 회귀계수, R, R^2인 결정계수 등 모형 통계량에 대해 이야기를 하겠습니다. 일반 논문 쓰시는 분은 모형통계량은 그냥 표 해설에서 기계적으로 써 주시면 되고 여기에 특별하게 의미를 붙일 필요는 없습니다.