신뢰도타당보분석요인분석크론바알파/요인분석의 이론

탐색적 요인분석: 실제 예, 요인점수, 군집분석, 인공지능

학위논문통계 2022. 10. 25. 19:59

1. 실제 예

 

오늘은 탐색적 요인분석의 실제 예를 한번 보겠습니다.

 

소셜 미디아의 인플루언서의 특성에 대한 탐색적 요인분석 결과입니다.

 

소셜미디아는 한국에서 SNS라고 하죠. 한국에서만 쓰는 용어로 알고 있습니다. 따라서 논문에서는 소셜미디아라고 하는 것이 나을 겁니다. 요새는 소셜 미디아 인플루언서를 이용하여 광고를 많이 합니다. 그래서 인플루언서의 어떤 특징이 광고에 효과가 있는지 알아 보려고 하는 것입니디다.

 

인플루언서 특징의 하위변인으로 신뢰성, 전문성, 매력성으로 구분하고 신뢰성은 6문항, 전문성은 5문항, 매력성은 4문항으로 설문조사를 하였습니다.

 

1차 탐색적 요인분석 결과입니다.

 


Component
1 2 3
신뢰1 .310 .808 .121
신뢰2 .292 .818 .150
신뢰3 .268 .530 .502
신뢰4 .701 .458 .185
신뢰5 .643 .480 .092
신뢰6 .696 .447 .167
전문1 .603 .205 .422
전문2 .077 .059 .850
전문3 .233 .115 .831
전문4 .065 .302 .738
전문5 .467 .567 .307
매력1 .769 .290 .122
매력2 .788 .186 -.003
매력3 .590 -.009 .449
매력4 .632 .379 .212

 

결과물에서 component(성분)은 factor를 말합니다. component는 주성분 분석에서 나오는 용어인데 이건 spss 실수인 것 같고요.

 

표에 있는 값을 요인적재값(factor loadings)라고 하는데 이 값이 일단 0.5 이상인 부분만 주시하시면 됩니다.

 

그럼 요인1은 매력성과 밀접한 관계가 있고, 요인2는 신뢰성, 요인3은 전문성과 밀접한 관계가 있음을 알 수 있습니다. 그러나 신뢰4-신뢰6, 전문1, 전문5 설문문항은 애매모호합니다. 즉 타당도에 심각한 문제를 야기하는 설문문항 들입니다. 따라서 이 문항들을 다 제거한 다음 2차 요인분석을 실시합니다.

 

제거한다는 말은 데이터에서 제거한다는 이야기가 아니라 요인분석 실시할 때 메뉴에 넣지 않는다는 이야기입니다. 즉 마치 설문조사하지 않는 설문문항이냥 처리한다는 이야기입니다.

 

그럼 2차 요인분석 결과입니다.


Component
1 2 3
신뢰1 .125 .285 .844
신뢰2 .147 .277 .850
신뢰3 .501 .240 .567
전문2 .853 .084 .065
전문3 .836 .230 .120
전문4 .753 .059 .247
매력1 .117 .756 .330
매력2 .000 .796 .223
매력3 .438 .637 .030
매력4 .201 .682 .407
고유값 2.529 2.356 2.161
변동설명력 25.289 23.558 21.610
누적변동설명력 25.289 48.847 70.457

지난번 글에서도 한번 언급했듯이 요인분석시 각 설문문항은 표준화를 합니다. 즉 평균이 0이고 분산이 1입니다. 그래서 총 설문문항이 10개이므로 설문문항의 총 분산이 10입니다. 그런데 요인1의 고유값이 2.529이므로 요인1의 설명하는 분산은 2.529라는 것입니다. 따라서 2.529/10=25.289 즉 변동설명력이 됩니다. 이 변동설명력을 계속 누적한 것이 누적 변동설명력이 됩니다.

 

여기서 기준은 각 요인의 고유값이 1 이상, 3개의 요인이 설명하는 누적변동설명력은 50% 이상이 되어야 한다는 것입니다. 이건 수학적으로 증명되는 기준이 아니고 대부분 통계학 책에서 나오는 합리적인 기준입니다.

 

 

그래서 전체적으로 보면 요인1은 전문성, 요인2는 매력성, 요인3은 신뢰성과 매우 밀접한 관계가 있음을 알 수 있고, 신뢰3과 매력4 문항은 여전히 타당도에 문제가 있지만 이 정도면 수용가능한 수준입니다. 각 구성개념(잠재 변수)를 구성하는 설문문항은 최소한 3문항 이상으로 하는 것이 좋습니다. 신뢰3의 타당도가 좋지 않다고 해서 이 문항마저 제거하면 신뢰성 설문문항은 2문항 밖에 없어서 이건 매우 좋지 않는 설문문항이라고 보면 됩니다.

 

 

2. 결과물의 순서

 

위 결과물은 spss 기본 값으로 나오는 결과물입니다. 메뉴에서 설문문항을 투입한 순서대로 결과물이 나온 것입니다.

 

이 순서를 요인의 순서대로, 그리고 각 요인에서 요인적재값의 순서대로 결과물을 얻고자 하면 spss의 옵션에서 Sorted by size를 체크하시면 됩니다. 그럼 다음과 같은 결과를 얻을 수 있습니다.

 

 

 


Component
1 2 3
전문2 .853 .084 .065
전문3 .836 .230 .120
전문4 .753 .059 .247
매력2 .000 .796 .223
매력1 .117 .756 .330
매력4 .201 .682 .407
매력3 .438 .637 .030
신뢰2 .147 .277 .850
신뢰1 .125 .285 .844
신뢰3 .501 .240 .567
고유값 2.529 2.356 2.161
변동설명력 25.289 23.558 21.610
누적변동설명력 25.289 48.847 70.457

 

이번에는 청색 부분(요인적재값이 0.5 이상인 부분)이 차례대로 내려가고 있죠. 이 옵션을 사용하는 경우는 처음 설문문항 개발할 때 좋은 방법입니다.

 

 

 

3. 요인분석과 군집분석, 인공지능

 

 

학생들의 친부모 성향을 분류한다고 생각해보죠. 친아버지 성향이면 꼭 반어머니 성향이고, 친어미니 성향이면 꼭 반아버지 성향일까요.

 

그렇지 않을 겁니다. (친아버지 성향, 친어머니 성향), (친아버지 성향, 반어머니 성향), (반아버지 성향, 친어머니 성향), (반아버지 성향, 반어머니 성향) 이렇게 아마 4개의 집단으로 분류가 될 겁니다.

 

그럼 친아버지 성향과 친어머니 성향 설문문항 모두를 가지고 탐색적 요인분석을 실시합니다. 원래는 주성분 분석을 해야 합니다. 그러나 탐색적 요인분석으로 해도 가능합니다. 그럼 이 설문문항에서 (친아버지 성향, 친어미니 성향)이라는 2개의 요인을 설정하고 요인분석을 실시합니다.

 

이 경우 요인분석 메뉴에서 Scores로 가서 Save as variables를 체크합니다.

 

그럼 데이터에 친아버지 성향과 친어니미 성향을 나타내주는 2개의 변수가 새로 첨가가 됩니다.

 

이 요인점수 변수는 모두 표준화가 되어 있습니다. 즉 평균이 0이고 분산이 1입니다. 또 2개의 요인점수 변수는 서로 독립입니다. 즉 상관계수가 0입니다.

 

이 새로운 2개의 요인점수 변수를 가지고 군집분석으로 가서 K-군집을 실시하면 됩니다. 이 경우 K=4가 되겠죠.

 

그럼 조사한 학생 집단이 (친아버지 성향, 친어머니 성향), (친아버지 성향, 반어머니 성향), (반아버지 성향, 친어머니 성향), (반아버지 성향, 반어머니 성향) 으로 구분이 됩니다.

 

구해진 이 4개의 집단 분류에 따라 각 집단의 특성들을 파악할 수 있습니다.

 

 

탐색적 요인분석을 한 다음 군집분석을 하여 집단을 분류화하는 작업이기 때문에 저널에 논문이 실릴 가능성이 매우 높습니다. 사람들이 잘 안하는 작업이죠.

 

 

인공지능하고 어떻게 연관이 될까요.

 

핸드폰 지문 인식을 하면 생각해보죠. 핸드폰 지문 인식은 생각보다 쉽습니다.

 

여기서 집단은 “나”, “나가 아닌 다른 사람” 이 두 집단 밖에 없습니다.

 

그래서 처음에 나의 지문을 20*20 디지털 이미지로 받아 놓습니다. 픽셀 값은 0, 1로 흑백 이지미로 합니다. 선이 보이는 픽셀만 1로 하는 것이죠. 컬러 이미지는 아무런 도움이 안되고 오히려 방해만 됩니다. 불필요한 정보이죠.

 

그럼 디지털 이미지는 0, 1로 구성된 행렬입니다. 이걸 A 행렬이라고 하죠. 그럼 다음에 지문인식할 때 찍은 0, 1로 구성된 20*20 행렬을 B라고 하죠.

 

그럼 판단 기준은 간단합니다.

 

A-B가 0에 가까우면 “나”라고 판단하고, A-B가 크면 “나가 아닌 다른 사람”이라고 판단하는 것이죠.

 

여기서 잘못된 판단을 할 확률이 2개가 있습니다. “나”인데 “나가 아닌 다른 사람”이라고 판단할 확률과 “나가 아닌 다른 사람”인데 “나”라고 판단할 확률입니다.

통계학에서 나오는 유의수준과 p 값도 같은 개념입니다.

 

p값은 귀무가설이 맞는데 대립가설이 맞다고 잘못 판단할 확률이고 유의수준은 이런 오류를 우리가 최대한 허용하는 확률입니다.

 

지문인식도 마찬가지입니다. A-B을 매우 엄격하게 하면 계속 “나”가 아니다라고 판단이 날 겁니다. 짜증나는 것이죠. 반면에 A-B를 매우 느슨하게 하면 거의 대부분 “나”라고 판단하는 반면 나와 좀 비슷한 지문이 있는 사람도 “나”라고 판단하는 매우 심각한 상황에 빠질 수가 있습니다.

 

그래서 단순히 내 핸드폰에서 지문인식이 잘된다고 해서 이게 지문인식 기능이 좋아진 것이 아닙니다. A-B 기준을 느슨하게 한 것에 불과합니다.

 

그러나 이런 경우 지문인식이 쉽지 않는 문제입니다.

 

예를 들어 사고 현장에서 취재한 지문을 가지고 몇 백만 범죄자 지문인식 데이터베이스에서 찾아내는 것은 간단한 문제가 아닙니다.

 

옛날에는 이런 문제를 수학적으로 풀려고 했습니다. 사람들이 아날로고 세계에서 지문인식하는 과정을 수학적으로 풀려고 한 것이죠.

 

그래서 지문을 특성을 가리키는 수 많은 변수를 뽑아냅니다. 이 수 많은 변수 가지고 지문을 찾기가 힘드니까 이것 탐색적 요인분석을 해서 몇 개의 특성 변수를 찾아냅니다. 이걸 가지고 지문인식을 시도했다는 것이죠.

 

그러나 이게 잘 안됐습니다. 그래서 지금은 그냥 핸드폰 지문 인식하듯이 무식하게 합니다.

 

일단 범죄자 지문을 0, 1로 구성된 20*20 행렬 데이터 베이스를 만듭니다. 그리고 사건 현장에서 채취한 범인의 지문 역시 0, 1로 구성된 행렬을 만듭니다. 이걸 B 행렬이라고 하죠. 그런데 이 지문은 제대로 정렬되어 있지 않고 삐닥하게 되어 있죠. 이걸 정렬시키고, 지문의 나선 커브 선을 부각시키기 위해 line detection이라 preprocess 작업 등을 해야 합니다. 그런 다음 이 범인 지문 행렬 B와 가장 유사한 지문 행렬을 범죄자 데이터베이스에서 찾는 것이죠.

 

지금 우리나라 인공지능은 외국의 소프트웨어를 사용하거나 아니면 개발된 여러 모듈이나 라이브러리를 사용하는 것으로 알고 있습니다.

 

우리 자체 인공지능 소프트웨어를 개발한다든지 기존의 AI 성능을 개선하려면 인공지능 밑에 깔려 있는 이론을 잘 알아야 합니다.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

오늘은 탐색적 요인분석의 실제 예를 한번 보겠습니다.

 

소셜 미디아의 인플루언서의 특성에 대한 탐색적 요인분석 결과입니다.

 

소셜미디아는 한국에서 SNS라고 하죠. 한국에서만 쓰는 용어로 알고 있습니다. 따라서 논문에서는 소셜미디아라고 하는 것이 나을 겁니다. 요새는 소셜 미디아 인플루언서를 이용하여 광고를 많이 합니다. 그래서 인플루언서의 어떤 특징이 광고에 효과가 있는지 알아 보려고 하는 것입니디다.

 

인플루언서 특징의 하위변인으로 신뢰성, 전문성, 매력성으로 구분하고 신뢰성은 6문항, 전문성은 5문항, 매력성은 4문항으로 설문조사를 하였습니다.

 

1차 탐색적 요인분석 결과입니다.

 


Component
1 2 3
신뢰1 .310 .808 .121
신뢰2 .292 .818 .150
신뢰3 .268 .530 .502
신뢰4 .701 .458 .185
신뢰5 .643 .480 .092
신뢰6 .696 .447 .167
전문1 .603 .205 .422
전문2 .077 .059 .850
전문3 .233 .115 .831
전문4 .065 .302 .738
전문5 .467 .567 .307
매력1 .769 .290 .122
매력2 .788 .186 -.003
매력3 .590 -.009 .449
매력4 .632 .379 .212

 

결과물에서 component(성분)은 factor를 말합니다. component는 주성분 분석에서 나오는 용어인데 이건 spss 실수인 것 같고요.

 

표에 있는 값을 요인적재값(factor loadings)라고 하는데 이 값이 일단 0.5 이상인 부분만 주시하시면 됩니다.

 

그럼 요인1은 매력성과 밀접한 관계가 있고, 요인2는 신뢰성, 요인3은 전문성과 밀접한 관계가 있음을 알 수 있습니다. 그러나 신뢰4-신뢰6, 전문1, 전문5 설문문항은 애매모호합니다. 즉 타당도에 심각한 문제를 야기하는 설문문항 들입니다. 따라서 이 문항들을 다 제거한 다음 2차 요인분석을 실시합니다.

 

제거한다는 말은 데이터에서 제거한다는 이야기가 아니라 요인분석 실시할 때 메뉴에 넣지 않는다는 이야기입니다. 즉 마치 설문조사하지 않는 설문문항이냥 처리한다는 이야기입니다.

 

 

 

그럼 2차 요인분석 결과입니다.

 


Component
1 2 3
신뢰1 .125 .285 .844
신뢰2 .147 .277 .850
신뢰3 .501 .240 .567
전문2 .853 .084 .065
전문3 .836 .230 .120
전문4 .753 .059 .247
매력1 .117 .756 .330
매력2 .000 .796 .223
매력3 .438 .637 .030
매력4 .201 .682 .407
고유값 2.529 2.356 2.161
변동설명력 25.289 23.558 21.610
누적변동설명력 25.289 48.847 70.457

 

 

지난번 글에서도 한번 언급했듯이 요인분석시 각 설문문항은 표준화를 합니다. 즉 평균이 0이고 분산이 1입니다. 그래서 총 설문문항이 10개이므로 설문문항의 총 분산이 10입니다. 그런데 요인1의 고유값이 2.529이므로 요인1의 설명하는 분산은 2.529라는 것입니다. 따라서 2.529/10=25.289 즉 변동설명력이 됩니다. 이 변동설명력을 계속 누적한 것이 누적 변동설명력이 됩니다.

 

여기서 기준은 각 요인의 고유값이 1 이상, 3개의 요인이 설명하는 누적변동설명력은 50% 이상이 되어야 한다는 것입니다. 이건 수학적으로 증명되는 기준이 아니고 대부분 통계학 책에서 나오는 합리적인 기준입니다.

 

 

그래서 전체적으로 보면 요인1은 전문성, 요인2는 매력성, 요인3은 신뢰성과 매우 밀접한 관계가 있음을 알 수 있고, 신뢰3과 매력4 문항은 여전히 타당도에 문제가 있지만 이 정도면 수용가능한 수준입니다. 각 구성개념(잠재 변수)를 구성하는 설문문항은 최소한 3문항 이상으로 하는 것이 좋습니다. 신뢰3의 타당도가 좋지 않다고 해서 이 문항마저 제거하면 신뢰성 설문문항은 2문항 밖에 없어서 이건 매우 좋지 않는 설문문항이라고 보면 됩니다.

 

 

2. 결과물의 순서

 

위 결과물은 spss 기본 값으로 나오는 결과물입니다. 메뉴에서 설문문항을 투입한 순서대로 결과물이 나온 것입니다.

 

이 순서를 요인의 순서대로, 그리고 각 요인에서 요인적재값의 순서대로 결과물을 얻고자 하면 spss의 옵션에서 Sorted by size를 체크하시면 됩니다. 그럼 다음과 같은 결과를 얻을 수 있습니다.

 

그림

 

 

 


Component
1 2 3
전문2 .853 .084 .065
전문3 .836 .230 .120
전문4 .753 .059 .247
매력2 .000 .796 .223
매력1 .117 .756 .330
매력4 .201 .682 .407
매력3 .438 .637 .030
신뢰2 .147 .277 .850
신뢰1 .125 .285 .844
신뢰3 .501 .240 .567
고유값 2.529 2.356 2.161
변동설명력 25.289 23.558 21.610
누적변동설명력 25.289 48.847 70.457

 

 

 

 

 

 

 

 

 

 

 

 

 

 

이번에는 회색칠을 한 부분(요인적재값이 0.5 이상인 부분이 차례대로 내려가고 있죠. 이 옵션을 사용하는 경우는 처음 설문문항 개발할 때 좋은 방법입니다.

 

 

 

3. 요인분석과 군집분석, 인공지능

 

 

학생들의 친부모 성향을 분류한다고 생각해보죠. 친아버지 성향이면 꼭 반어머니 성향이고, 친어미니 성향이면 꼭 반아버지 성향일까요.

 

그렇지 않을 겁니다. (친아버지 성향, 친어머니 성향), (친아버지 성향, 반어머니 성향), (반아버지 성향, 친어머니 성향), (반아버지 성향, 반어머니 성향) 이렇게 아마 4개의 집단으로 분류가 될 겁니다.

 

그럼 친아버지 성향과 친어머니 성향 설문문항 모두를 가지고 탐색적 요인분석을 실시합니다. 원래는 주성분 분석을 해야 합니다. 그러나 탐색적 요인분석으로 해도 가능합니다. 그럼 이 설문문항에서 (친아버지 성향, 친어미니 성향)이라는 2개의 요인을 설정하고 요인분석을 실시합니다.

 

이 경우 요인분석 메뉴에서 Scores로 가서 Save as variables를 체크합니다.

 

그림

 

 

 

 

 

 

 

 

그럼 데이터에 친아버지 성향과 친어니미 성향을 나타내주는 2개의 변수가 새로 첨가가 됩니다.

 

이 요인점수 변수는 모두 표준화가 되어 있습니다. 즉 평균이 0이고 분산이 1입니다. 또 2개의 요인점수 변수는 서로 독립입니다. 즉 상관계수가 0입니다.

 

이 새로운 2개의 요인점수 변수를 가지고 군집분석으로 가서 K-군집을 실시하면 됩니다. 이 경우 K=4가 되겠죠.

 

그럼 조사한 학생 집단이 (친아버지 성향, 친어머니 성향), (친아버지 성향, 반어머니 성향), (반아버지 성향, 친어머니 성향), (반아버지 성향, 반어머니 성향) 으로 구분이 됩니다.

 

구해진 이 4개의 집단 분류에 따라 각 집단의 특성들을 파악할 수 있습니다.

 

 

탐색적 요인분석을 한 다음 군집분석을 하여 집단을 분류화하는 작업이기 때문에 저널에 논문이 실릴 가능성이 매우 높습니다. 사람들이 잘 안하는 작업이죠.

 

 

인공지능하고 어떻게 연관이 될까요.

 

핸드폰 지문 인식을 하면 생각해보죠. 핸드폰 지문 인식은 생각보다 쉽습니다.

 

여기서 집단은 “나”, “나가 아닌 다른 사람” 이 두 집단 밖에 없습니다.

 

그래서 처음에 나의 지문을 20*20 디지털 이미지로 받아 놓습니다. 픽셀 값은 0, 1로 흑백 이지미로 합니다. 선이 보이는 픽셀만 1로 하는 것이죠. 컬러 이미지는 아무런 도움이 안되고 오히려 방해만 됩니다. 불필요한 정보이죠.

 

그럼 디지털 이미지는 0, 1로 구성된 행렬입니다. 이걸 A 행렬이라고 하죠. 그럼 다음에 지문인식할 때 찍은 0, 1로 구성된 20*20 행렬을 B라고 하죠.

 

그럼 판단 기준은 간단합니다.

 

A-B가 0에 가까우면 “나”라고 판단하고, A-B가 크면 “나가 아닌 다른 사람”이라고 판단하는 것이죠.

 

여기서 잘못된 판단을 할 확률이 2개가 있습니다. “나”인데 “나가 아닌 다른 사람”이라고 판단할 확률과 “나가 아닌 다른 사람”인데 “나”라고 판단할 확률입니다.

통계학에서 나오는 유의수준과 p 값도 같은 개념입니다.

 

p값은 귀무가설이 맞는데 대립가설이 맞다고 잘못 판단할 확률이고 유의수준은 이런 오류를 우리가 최대한 허용하는 확률입니다.

 

지문인식도 마찬가지입니다. A-B을 매우 엄격하게 하면 계속 “나”가 아니다라고 판단이 날 겁니다. 짜증나는 것이죠. 반면에 A-B를 매우 느슨하게 하면 거의 대부분 “나”라고 판단하는 반면 나와 좀 비슷한 지문이 있는 사람도 “나”라고 판단하는 매우 심각한 상황에 빠질 수가 있습니다.

 

그래서 단순히 내 핸드폰에서 지문인식이 잘된다고 해서 이게 지문인식 기능이 좋아진 것이 아닙니다. A-B 기준을 느슨하게 한 것에 불과합니다.

 

그러나 이런 경우 지문인식이 쉽지 않는 문제입니다.

 

예를 들어 사고 현장에서 취재한 지문을 가지고 몇 백만 범죄자 지문인식 데이터베이스에서 찾아내는 것은 간단한 문제가 아닙니다.

 

옛날에는 이런 문제를 수학적으로 풀려고 했습니다. 사람들이 아날로고 세계에서 지문인식하는 과정을 수학적으로 풀려고 한 것이죠.

 

그래서 지문을 특성을 가리키는 수 많은 변수를 뽑아냅니다. 이 수 많은 변수 가지고 지문을 찾기가 힘드니까 이것 탐색적 요인분석을 해서 몇 개의 특성 변수를 찾아냅니다. 이걸 가지고 지문인식을 시도했다는 것이죠.

 

그러나 이게 잘 안됐습니다. 그래서 지금은 그냥 핸드폰 지문 인식하듯이 무식하게 합니다.

 

일단 범죄자 지문을 0, 1로 구성된 20*20 행렬 데이터 베이스를 만듭니다. 그리고 사건 현장에서 채취한 범인의 지문 역시 0, 1로 구성된 행렬을 만듭니다. 이걸 B 행렬이라고 하죠. 그런데 이 지문은 제대로 정렬되어 있지 않고 삐닥하게 되어 있죠. 이걸 정렬시키고, 지문의 나선 커브 선을 부각시키기 위해 line detection이라 preprocess 작업 등을 해야 합니다. 그런 다음 이 범인 지문 행렬 B와 가장 유사한 지문 행렬을 범죄자 데이터베이스에서 찾는 것이죠.

 

지금 우리나라 인공지능은 외국의 소프트웨어를 사용하거나 아니면 개발된 여러 모듈이나 라이브러리를 사용하는 것으로 알고 있습니다.

 

우리 자체 인공지능 소프트웨어를 개발한다든지 기존의 AI 성능을 개선하려면 인공지능 밑에 깔려 있는 이론을 잘 알아야 합니다.