앞서서 다양한 회귀분석을 진행하였습니다.

그런데 회귀분석을 하기 위한 전제조건 중 하나는 척도가 등간척도거나 비율척도여야 한다는 것이었습니다.

그렇다면 성별과 같은 명목척도는 회귀분석을 할 수 없을까요?

대중적은 방법은 아니지만, 더미변수(Dummy Variable)를 사용하여 명목척도도 회귀분석을 할 수 있습니다.

여기서 Dummy란 뭔가 '쌓아가기 위해 임의로 만든' 정도로 생각하시면 됩니다.


성별(D1)이 이직의도(BA)에 미치는 영향을 확인해보도록 하겠습니다.

예제로 사용할 SPSS 파일을 다운로드 해주세요.


rawdata4(sample).sav




※ 이미지들은 클릭하면 원본이미지로 크게 보실 수 있습니다.


위에 첨부된 파일을 열어, 화면의 오른쪽에 보면

독립변수가 될 성별 D1과 종속변수가 될 이직의도 BA를 확인할 수 있습니다.



명목척도인 성별을 더미변수로 바꾸기 위해

메뉴에서 [변환-다른 변수로 코딩변경]을 선택합니다.




[새로운 변수로 코딩변경] 팝업창에서

성별인 D1을 변수로 설정합니다.




우측의 이름 입력창에 'D1_Dummy' 라고 입력한 후, 설명 입력창에는 '성(더미변수)'라고 입력합니다.

아래의 [바꾸기] 버튼을 클릭한 후, [기준값 및 새로운 값] 버튼을 클릭합니다.




성별에 대한 값은 '남' 또는 '여'로 값이 저장되어 있습니다.

'남'은 숫자 '1'로, '여'는 숫자 '0'으로 바꿔보겠습니다.


기존값의 값에는 '남'을 입력한 후, 새로운 값의 기준값에는 '1'을 입력합니다.

[추가] 버튼을 클릭합니다.



'남'을 제외하면 나머지, 즉 '여'는 '0'으로 바꾸기 위해

기존값의 [기타 모든 값]을 선택한 후, 새로운 값에 '0'을 입력합니다.

[추가] 버튼을 클릭합니다.

[계속] 버튼을 클릭합니다.



[확인] 버튼을 클릭합니다.



더미변수 생성이 완료되었습니다.



새로 생성된 성별 더미변수 'D1_Dummy'를 보면 남자는 1로 여자는 0으로 입력되어 있는 것을 확인할 수 있습니다.



이제, 회귀분석을 하기 위해 메뉴에서 [분석-회귀분석-선형]을 선택합니다.




독립변수에는 성별더미변수 [D1_Dummy]를, 종속변수에는 이직의도 [BA]를 설정한 후

[확인] 버튼을 클릭합니다.



뷰어에 회귀분석 결과가 추가되었습니다.



독립변수에 성별더미변수(D1_Dummy)가 종속변수에 이직의도(BA)가 입력되었습니다.



독립변수와 종속변수의 상관관계는 거의 없습니다.(R=.152)

독립변수가 종속변수를 설명하는 비율은 2.3%로 설명력이 매우 낮습니다.(R^2=.23)



F값이 4.666, 유의확률은 .032(p<0.05)으로 통계적 유의수준 하에 있어, 회귀선 모델에 적합하다고 할 수 있습니다.



독립변수인 성별더미변수가 종속변수인 이직의도에 통계적 유의수준 하에서 유의한 영향을 미치고 있는 것으로 나타났습니다.(t=-2.160)

결과적으로

'남자'라는 요인은 이직의도에 3.169 + -3.66*(1)= -0.419 만큼 영향을 미치고,

'여자'라는 요인은 이직의도에 3.169 + -3.66*(0)=  3.169 만큼 영향을 미치는 것으로 나타났습니다.


분석이 완료되면 뷰어파일(출력결과)을 저장합니다.

아래 첨부파일과 같은 SPSS파일이 저장되어 있으면 성공입니다.


출력결과(더미변수).spv






<추가> 직급(D6)이 이직의도(BA)에 미치는 영향을 회귀분석


직급은 사원급/대리급/과장급/차장급/부장급 이렇게 총 5개의 서열척도로 구성되어 있습니다.

이전에 성별(남,여)을 회귀분석하기 위해서는 더미변수가 1개가 필요했지만, 직급은 총 5개의 값이 있으므로 더미변수는 4개가 필요합니다.

더미변수를 한 개씩 만들면 오래걸리기 때문에, 명령어를 사용하여 한 번에 더미변수 4개를 만들면 시간을 단축할 수 있습니다.


D6가 직급에 관한 문항입니다.



명령문을 실행하기 위해

메뉴에서 [파일-새파일-명령문]을 선택합니다.



더미변수를 생성하는 명령을 지시하는 명령문을 입력합니다.


명령문에 설명드리면,

If (D6="사원급") D6_Dummy1=1. 

만일 [D6]의 변수값이 "사원급"으로 되어 있는 사람은 [D6_Dummy1] 변수값에 '1'이라고 등록하세요 라는 의미입니다.


명령문을 작성할 떄 조심할 점은

1) 문자(텍스트)를 입력할 때는 엑셀과 같이 양끝에 쌍따옴표를 붙여서 입력해야 합니다.(숫자는 그냥, 문자는 양 끝에 쌍따옴표 추가)

2) 명령문은 .(마침표)로 마무리합니다.


우리가 원하는 더미변수 4개(D6_Dummy1 ~ D6_Dummy4)를 만들기 위해 아래와 같은 명령문을 입력합니다.


If (D6="사원급") D6_Dummy1=1.

If (D6="대리급") D6_Dummy1=0.

If (D6="과장급") D6_Dummy1=0.

If (D6="차장급") D6_Dummy1=0.

If (D6="부장급") D6_Dummy1=0.


If (D6="사원급") D6_Dummy2=0.

If (D6="대리급") D6_Dummy2=1.

If (D6="과장급") D6_Dummy2=0.

If (D6="차장급") D6_Dummy2=0.

If (D6="부장급") D6_Dummy2=0.


If (D6="사원급") D6_Dummy3=0.

If (D6="대리급") D6_Dummy3=0.

If (D6="과장급") D6_Dummy3=1.

If (D6="차장급") D6_Dummy3=0.

If (D6="부장급") D6_Dummy3=0.


If (D6="사원급") D6_Dummy4=0.

If (D6="대리급") D6_Dummy4=0.

If (D6="과장급") D6_Dummy4=0.

If (D6="차장급") D6_Dummy4=1.

If (D6="부장급") D6_Dummy4=0.





팝업창 상단 메뉴에서 [실행-모두]를 선택합니다.



더미변수 생성처리가 잘 완료되었음이 뷰어에 추가되었습니다.



새로 생성한 4개의 더미변수에 값이 보이지 않습니다.

수정하기 위해 [변수보기] 탭으로 이동합니다.



새로 생성된 변수들의 척도 필드가 '척도'로 되어있습니다. 척도 필드를 '순서'로 수정해줍니다.




변경을 실행할지 여부를 물으면 [확인] 버튼을 클릭합니다.



변환이 완료되었음이 [뷰어]에 추가되었습니다.



[데이터 보기] 탭을 선택하여 데이터를 확인합니다.



생성한 더미변수의 값이 '1'과 '0'으로 잘 등록되어 있음을 확인할 수 있습니다.



회귀분석을 하기 위해 메뉴에서 [분석-회귀분석-선형]을 선택합니다.



독립변수에 생성한 4개의 회귀변수를, 종속변수에 BA를 설정한 후 [확인] 버튼을 클릭합니다.




회귀분석 결과가 뷰어에 추가되었습니다.



유의확률이 .211(p>0.05)이므로 직급은 회귀선에 적합하지 않습니다.


(적합하지 않지만 연습을 위해) 만약에, 직급이 이직의도에 미치는 영향이 회귀선에 적합했다면

'사원급'은 이직의도에 2.312 + .733*(1) + .688*(0) + .623*(0) + .388*(0) = 3.045 만큼 영향을 미치고,

'대리급'은 이직의도에 2.312 + .733*(0) + .688*(1) + .623*(0) + .388*(0) = 3.000 만큼 영향을 미치고,

'과장급'은 이직의도에 2.312 + .733*(0) + .688*(0) + .623*(1) + .388*(0) = 2.935 만큼 영향을 미치고,

'차장급'은 이직의도에 2.312 + .733*(0) + .688*(0) + .623*(0) + .388*(1) = 2.700 만큼 영향을 미치고,

'부장급'은 이직의도에 2.312 + .733*(0) + .688*(0) + .623*(0) + .388*(0) = 2.312 만큼 영향을 미친다고 할 수 있습니다.

(물론 적합했다면 입니다.)







관련 글 보기


2015/12/03 - [논문통계/SPSS] - SPSS에서 엑셀데이터 불러와서 저장하기(예제파일포함)


2015/12/03 - [논문통계/SPSS] - SPSS에서 빈도분석으로 인구통계적 특성 파악하기


2015/12/05 - [논문통계/SPSS] - SPSS에서 요인분석으로 타당도 측정하기


2015/12/05 - [논문통계/SPSS] - SPSS에서 크론바흐 알파(Cronbach's α)로 신뢰도 측정하기


2015/12/06 - [논문통계/SPSS] - SPSS에서 변수 계산으로 요인 평균값 만들기


2015/12/06 - [논문통계/SPSS] - SPSS에서 상관관계분석으로 변수 간 상관도 분석하기


2015/12/06 - [논문통계/SPSS] - SPSS에서 회귀분석으로 영향을 미치는지 확인하기


2015/12/06 - [논문통계/SPSS] - SPSS에서 3단계 회귀분석으로 매개변수의 매개효과 확인하기


2015/12/06 - [논문통계/SPSS] - SPSS에서 위계적 회귀분석으로 조절변인의 조절효과 확인하기


2016/01/11 - [논문통계/SPSS] - SPSS에서 더미변수를 이용하여 회귀분석하기


2016/01/11 - [논문통계/SPSS] - SPSS에서 T-test로 두 집단간의 평균 비교하기


2016/01/17 - [논문통계/SPSS] - SPSS에서 One-Way-Anova(일원배치분석)으로 여러 집단간의 평균 비교하기


2016/02/10 - [논문통계/SPSS] - SPSS에서 카이제곱 분석으로 변수들간의 독립성과 관련성 분석하기


2016/02/10 - [논문통계/SPSS] - SPSS에서 군집분석으로 집단을 군집으로 분류한 후 특성 확인하기

  1. 행인 2016.04.28 17:14

    성별 영향이
    상수비표준화계수 -.049, 성별더미 .116나왔습니다.
    -.049+.116*(1) 해서 남자 0.067%
    -.049+.116(0) 해서여자 -0.049%로 나왔는데 해석적 가정이 어떻게 되는지 여쭈어봐도 될까요?ㅠ

    • Favicon of https://learnx.tistory.com BlogIcon Learn X BboL 2016.05.05 18:16 신고

      유의확률이 .05 보다 작은지 아닌지가 더 중요합니다. 그에 따라 의미가 있거나 없는 것으로 설명해주시면 됩니다.

  2. 2016.05.25 01:53

    비밀댓글입니다

  3. Ray Park 2016.09.29 22:31

    이렇게 상세히 이해하기 쉽게 가르쳐주시는 분은 처음입니다.

    이 홈피를 만나게 된게 정말 행운이군요...

    질문이 있는데요.
    명목변수가 다중응답일 경우 어떻게 변환해야 할지요?
    예를 들어 엑셀로 작성한 raw data 항목 1의 답변이 1,3,4,7 이런 형식으로 되어있을 경우 어떻게 처리해야할지...
    이걸 처리해야 명목변수 관련한 다른 분석도 돌릴 수 있을텐데 답답합니다.

    spss에 옮길때 1~7 번까지 모든 항목을 넣어서 해당하는 항목에 1쓰고 나머지는 0으로 하도록 하라는데 이해가 안가고... 그렇게 하기에는 data가 4만개라서..

    가르침 부탁드립니다.

    • Favicon of https://learnx.tistory.com BlogIcon Learn X BboL 2016.10.04 22:04 신고

      질문을 정확히 이해못했습니다.

      7점척도라는 말씀인가요?

      7점 척도면 그냥 돌리시면 되는데요.

  4. Mr.H 2016.10.26 22:51

    정말 상세하고 친절하게 설명이 되어 있어 많은 도움을 받았습니다.
    그리고 한가지만 질문드리고 싶습니다.
    아랫 글에서도 같은 질문이 있는데
    더미변수는 보통 명목변수가 단일형 즉, 응답이 한 개인 경우에 대해서만 가능한 것인지요?
    만약 명목변수가 여러개의 응답을 할 수 있도록 되어 있는 다중응답형 질문이라면
    이를테면 하나의 질문에 응답을 2개를 고르도록 한 경우
    (다음중 중요시하는 것은? 1) 가격 2) 성능 3) 디자인 4) A/S 5) 브랜드 에서 1)과 2)를 선택한 경우라면)
    이러한 응답을 더미변수로 처리해서 회귀분석을 실시하려면 어떻게 해야 하는지요?
    답변주신다면 정말 감사하겠습니다.

  5. 통제변수가 있는 조절효과 2016.11.19 02:28

    1번 질문)위계적 회귀를 이용한 조절효과를 분석할때 통제변인을 넣으려고 합니다. 통제변인은 유아의 연령(3,4,5세로 각각 1,2,3으로 코딩하였음)이고 독립변인A, 조절변인B, 종속변인C 모두 연속형입니다. 이 때 SPSS에서 어떤식으로 이루어져야 하는건가요?

    이 경우 통제변인을 1,2,3의 숫자로 코딩하였음에도 불구하고 더미화시켜야 하나요? 만약 그렇다면
    2개의 더미변수를 1모형
    2개더미변수+독립을 2모형
    2개더미+독립+조절을 3모형
    2개더미+독립+조절+상호작용항을 4모형
    이러한 식으로 입력하는 것이 맞나요?

    2번질문)통제변인이 있는 조절회귀에서 그래프는 어떻게 그릴 수 있나요?(비표준화계수를 이용한 회귀식이 어떻게 되나요? 통제변인도 포함하나요?)

    감사합니다.

    • Favicon of https://learnx.tistory.com BlogIcon Learn X BboL 2016.11.21 10:32 신고

      연속형 변수를 범주형으로 변환하여 연구하는 것은 어떨까요? 연구편의성과 검증에서 장점들이 있을 수 있습니다.

  6. Psun 2017.03.12 15:12

    안녕하세요 선생님 ^^ 여쭤보고 싶은 것이 있습니다!
    위계적 회귀 분석으로 1단계로 아버지의 근무시간을 더미변수로 하여 투입하고 독립변인 2개를 순차적으로 투입하려고 하는데
    아버지의 근무시간 보기가 5개여서 더미변수로 바꾸면 4개가 되는데
    이를 모두 1단계에 투입하고
    2단계에 독립변인 1
    3단계에 독립변인 2를 투입하면 되는 것일까요?

    독립변인 1, 2를 투입하여 결과표를 확인하였을 때 결과표 중 계수라고 적힌 표에 1, 2 순서로 투입하면 두 칸에 모두 독립변인 1만 뜨고
    2, 1 순서로 투입하면 첫 째 칸에는 독립변인 1, 두번째 칸에는 독립변인 1, 2 모두 뜨는 정상적인 모습이 나타납니다.

    1, 2 순서, 2, 1 순서로 투입하여도 모두 유의수준은 유의미하게 나타나는데 왜 이런 차이를 보이는지 궁금합니다. 왜 그런 걸까요 ㅠㅠ?

    또, 결과 표 중 공선성 진단에서 상태지수가 15가 넘으면 안된다는 설명을 다른 곳에서 본 적이 있는데 제 결과 표에서는 마지막 칸에 상태지수가 15가 넘는 것으로 나타났는데 이것은 공선성의 문제가 되는 것인지 아니면 괜찮은 것인지도 궁금합니다. ㅠ 문제가 되는 것이라면 어떤 문제가 있는 것인지 확인하는 방법은 무엇이 될까요 ㅠㅠ?

    그리고 마지막으로 하나만 더 질문드리면..
    위의 예시에서 직급이 이직의도에 미치는 영향이 화귀선에 적합했다는 가정하에 계산된 영향을 미친다는 숫자는 비표준화 계수 B에 해당하는 값을 말씀해주신 건가요?

    질문이 많았습니다... 끝까지 봐주셔서 감사합니다 ^^;;

    • Favicon of https://learnx.tistory.com BlogIcon Learn X BboL 2017.03.15 10:28 신고

      더미변수의 회귀분석에 대한 게시물이 있습니다. 참조하시면 도움이 될 것 같습니다.~^^

  7. 2017.10.25 05:54

    비밀댓글입니다

  8. 루시 2017.11.20 16:57

    안녕하세요 도움많이 받고 있습니다. 감사합니다.

    다름이 아니라, 더미변수를 이용하게 되면, 기존과 다르게 표준화계수(베타)가 아닌,
    비표준화계수로 크기비교를 하는설명을 볼 수가 있었는데요.

    이게 더미변수이기 때문인건가요?
    그렇다면, 논문에도 이렇게 비표준화계수를 이용하여 회귀식을 써서 표현하면 되는 것인지 궁금합니다.

  9. 2018.05.14 15:49

    비밀댓글입니다

  10. 질문자 2018.05.17 19:19

    안녕하세요 질문이 있습니다!
    spss process macro로 성별을 조절변인으로 보고자 할때 더미변수로 보는 것인가요???

+ 최근 게시물들