본문 바로가기

자료처리47

SPSS로 주성분 분석 수행할 때 고려할 사항 PCA 결과가 다르네?SPSS (= JASP, jamovi)로 산출한 PCA 결과는 SAS (= STATA, MATLAB, Orange, R, Python, SigmaPlot, OriginPro) 결과와조금 다릅니다. 점수 그림(score plot)의 시료 분포 경향이 전반적으로 비슷한데 값은 차이가 있습니다. 아래 두 산포도의 경향은 거의 비슷합니다. 그런데 자세히 보면 수치가 다릅니다. 가장 위에 있는 점을 보면, SPSS에서는 Y축 값이 3과 4 사이에 있는데, SAS에서는 4와 5 사이에 있습니다. 아래와 같이 두 결과를 중첩하면 SPSS 결과 수치가 작은 것을 알 수 있습니다.  그러나 우리 연구실의 PCA 목적이 시료를 그룹화하고 어떤 화학 성분의 기여도가 높은지 파악하는 것이므로 점수(sco.. 2024. 7. 2.
주요 통계 소프트웨어 정리 지금까지 다양한 통계 소프트웨어를 사용해서 PCA를 수행했고, 간단하게 특징을 살펴 봤습니다.  Python 주성분 분석Orange Data Mining을 이용한 주성분 분석과 군집분석R 주성분 분석jamovi 통계 소프트웨어 주성분 분석JASP 통계 소프트웨어 주성분 분석SPSS 통계 소프트웨어 주성분 분석STATA 통계 소프트웨어 주성분 분석SAS Studio 통계 소프트웨어 주성분 분석MATLAB 주성분 분석SigmaPlot 주성분 분석OriginPro 주성분 분석 제가 사용한 통계 소프트웨어 전반적인 사항을 아래 그림에 정리했습니다. 참고해서 본인 수준에 맞게 사용하면 됩니다. 아래 내용도 참고해서 어떤 소프트웨어를 익히는 것이 중장기적으로 유리할 지 생각해 보세요.아직까지 부동의 인기순위 1위는.. 2024. 7. 1.
Python 주성분 분석 파이썬 코드입니다.R 코드를 ChatGPT에서 그대로 파이썬 코드로 변환시키고,  StandardScaler를 사용하여 데이터를 표준화하는 내용만 더 추가했습니다.import pandas as pdfrom sklearn.decomposition import PCAfrom sklearn.preprocessing import StandardScalerimport matplotlib.pyplot as pltimport seaborn as sns# Read the datadata = pd.read_csv("C:/Users/skill/Desktop/PCA 프로필.csv")# Select numeric columnsnumeric_data = data.select_dtypes(include=[float, int])#.. 2024. 7. 1.
R 주성분 분석 다음 코드를 이용하여 R에서 주성분 분석을 수행할 수 있습니다. 코드가 길어 보이지만 대부분 그림 그리는 내용이고, 실제로 PCA는 딱 한 줄로 실행됩니다. pca_result  R 기본 패키지(stats)에  PCA 함수인 princomp와 prcomp가 있는데, prcomp를 사용하세요.# Load necessary librarieslibrary(ggplot2)library(readr)library(dplyr)# Read the datadata % select_if(is.numeric)# Perform PCApca_result   그림을 다시 그리려면 적재값과 점수를 csv 파일로 출력하는 코드만 추가하면 됩니다.저는 R을 다른 소프트웨어 PCA 결과와 비교하는 용도로 사용하고, 실제 연구에는 별로.. 2024. 7. 1.
Orange Data Mining을 이용한 주성분 분석과 군집분석 Orange는 파이썬에 기반한 무료 기계학습 소프트웨어입니다.   Orange Data MiningOrange Data Mining Toolboxorangedatamining.com 엑셀이나 CSV 파일을 불러와서 위젯을 하나씩 연결해서 그래프도 그리고 결과물도 저장할 수 있습니다. Drag and drop 방식이라서 기존에 SAS를 사용하지 않았더라도 마인드 맵을 사용한 학생은 아주 쉽게 다양한 기계학습을 수행할 수 있습니다. R이나 파이썬 코드를 작성하기 어려운 학생들도 아주 쉽게 기계학습을 할 수 있습니다. 아래는 실행화면이고, CSV 파일을 불러와서 어떤 순서로 모델이 실행되는지 설명을 추가했습니다. 예전에 작성했던 PAH 논문 자료로 주성분 분석과 군집분석을 수행했습니다.   주성분 분석의 점수.. 2024. 7. 1.
SigmaPlot 주성분 분석 SigmaPlot으로도 PCA가 가능합니다. 우선 통계탭에서 PCA를 찾아서 클릭합니다.  변수와 시료명 컬럼을 지정합니다.  Options 메뉴를 클릭합니다. 구체적인 설정은 아래 순서로 하면 됩니다.  최종결과입니다. 그림이 없으므로 별도로 적재그림과 점수그림을 그려야 합니다. 2024. 7. 1.
OriginPro 주성분 분석 OrginPro 어플로 PCA를 수행하는 방법입니다. 우선, 자료를 입력하고, 오른쪽 빨간 상자 안의 어플을 더블 클릭합니다.   결과화면입니다. 그림 4개가 생성되었습니다. 필요한 모든 그림이 한 번에 나와서 가장 편합니다.  점수그림을 선택하면 큰 화면으로 그림이 나옵니다. 조금 더 편집하면 그대로 논문에 쓸 수 있는 수준입니다. OriginPro는 1년에 두 번 업데이트가 되는데 고품질 그림 예제가 Learning Center에 추가됩니다. R이나 파이썬 스타일 그림도 많이 있습니다. 또한, 새로운 어플이 계속 만들어지므로 필요한 어플을 설치하면 됩니다. 2024. 7. 1.
MATLAB 주성분 분석 매트랩은 전문적인 통계 도구는 아니지만 못하는 것이 없는 만능 소프트웨어입니다. 아래와 같은 주성분 분석 코드를 사용해서 점수그림 등이 표출되도록 했습니다. 아래 코드에서 폴더명만 수정하면 바로 PCA를 수행할 수 있습니다.% https://kr.mathworks.com/help/stats/pca.html 매트랩 주성분 분석 사이트% 2024-06-28 작성 with ChatGPT% CSV 파일 읽기filename = 'C:\Users\skill\Desktop\data.csv'; % 파일명 설정tbl = readtable(filename); % 데이터를 테이블 형식으로 읽기% 시료명을 제외한 숫자 데이터만 추출data = tbl{:, 2:end}; % 첫 번째 열(시료명)을 제외한 모든 데이터d.. 2024. 7. 1.
SPSS 통계 소프트웨어 주성분 분석 SPSS를 생략하면 섭섭할 것 같아서 추가합니다.  입력자료 준비전체 65개 시료(산불 재, 토양, 나무 껍질)의 16종 PAHs 농도(ng/g) 자료(다변량 통계 자료)를 사용했습니다. 16종 중에서 불검출 비율이 높은 물질을 제외하고 10개의 PAHs 농도만 추렸습니다. 그리고 10개 농도를 합하여 시료별 총 농도를 계산하고, 개별 물질의 비율을 산정했습니다. 이 자료가 아래 스프레드시트에 보이는 자료입니다. 행별로 숫자를 합치면 1이 됩니다. 이와 같이, 시료별로 표준화된 프로필을 작성해서 PCA에 사용합니다. 이렇게 해야 시료별 오염 특성에 따라 점수그림(score plot)에서 그룹화 되는 시료들을 해석하기 편합니다. 단위가 다른 경우에는 별도의 표준화 없이 그대로 입력자료로 사용하면 됩니다. .. 2024. 7. 1.
STATA 통계 소프트웨어 주성분 분석 교내 포탈 사이트에서 버전 16 (최신 버전은 18) 다운로드 가능합니다. STATA는 SPSS와 SAS의 중간 느낌입니다. 명령문을 이용해서 파일을 불러오거나 통계처리를 수행할 수 있고, 메뉴를 이용할 수도 있습니다. 아래 그림은 PCA 입력자료(CSV 형식)를 불러온 화면입니다.   SPSS처럼 메뉴를 통해서 PCA를 수행할 수 있습니다. PCA 결과가 바로 나옵니다.  그래프는 별도로 그릴 수 있습니다.   새 창으로 그래프가 나오는데(MATLAB과 비슷), 생각보다 깔끔합니다.   한글 메뉴에 익숙하지 않아서 영문으로 변경하고, 명령문만으로 PCA를 돌렸습니다. 바로 같은 결과가 나옵니다.  SPSS 사용 경험이 있는 학생은 아주 쉽게 STATA도 사용할 수 있을 것 같습니다. 2024. 7. 1.