본문 바로가기

Data Science/Multivariate Analysis8

[Multivariate Analysis] Factor analysis(인자분석) 인자분석이란? 서로 관련이 있는 변수들로 측정된 자료에서 그 변수들을 설명할 수 있는 새로운 공통변수를 파악하는 통계적 분석방법이다. 이 변수들은 관측되지 않은 가상의 변수가 이해력 분석력에 대한 측정을 한 것이 아니기 때문에 이 인자들을 생성하는 것은 주관적으로 해석하게 된다. 사회적, 경제적 변수 5개를 예로 들어서 보면 관찰되지 않은 변수들로부터 서로 상관관계가 숨어있는 잠재적 요인을 찾게 된다. x의 분산은 스케일링을 시프트 해도 모양이 바뀌지 않는다. $X=LF+\epsilon$ (X 2022. 3. 21.
[Multivariate Analysis] 주성분분석 실행 with R, Python 전체 코드 install.packages("HSAUR2") library(HSAUR2) data(heptathlon) head(heptathlon) heptathlon summary(heptathlon) write.csv(heptathlon, file="/Users/DataAnalytics/MultivariateAnalysis/mva/heptathlon.csv") # R 2.3 heptathlon$hurdles = max(heptathlon$hurdles) - heptathlon$hurdles heptathlon$run200m = max(heptathlon$run200m) - heptathlon$run200m heptathlon$run800m = max(heptathlon$run800m) - heptat.. 2022. 3. 21.
[Multivariate Analysis] Principal Component Analysis(PCA) 주성분분석 1. 주성분분석이란? 서로 관련이 있는(즉, 상관계수가 0이 아닌) 변수들의 선형결합을 이용하여 새로운 변수를 만드는 과정이다. 즉, 원래 변수들이 가지고 있는 정보의 일정수준을 확보하도록 소수의 새로운 변수들을 만드는 방법으로 새로 만들어진 변수들이 서로 직교인 특성이 있다 분석 가장 강한 영향력을 가지고 있는 주된 변수의 갯수를 추려내는 것이다. 좀 전문적인 말로 쓴다면 서로 관련있는 변수들이 전체적으로 가지고 있는 정보들을 최대한 확보하는 적은 수의 새로운 주성분 변수를 생성하는 방법이다. 1) 주성분(principal component)이란? 다변량 자료가 가지고 있는 총변이의 주요부분을 함유하고 있는 성분을 의미한다. 2) 변이(variation)의 크기란? - 정보의 크기를 나타내는 개념이다 .. 2022. 3. 18.
[Mulivariate Analysis] eigenvalue(고유값)과 eigenvector(고유벡터) 정방행렬 $A$에 대하여 $Ax = λx$, $Av=\lambda v$ (상수 λ) 가 성립하는 0이 아닌 벡터 x가 존재할 때 상수 λ 를 행렬 $A$의 고유값 (eigenvalue), x 를 이에 대응하는 고유벡터 (eigenvector) 라고 한다. 고유값과 고유벡터를 벡터곱 해주면 방향은 그대로 있고 배율만 바뀐다. 이 성질이 주성분 분석 할 때 차원축소에 중요한 키가 된다. $Av$ : 열벡터 v에 선형 변환 A 한 결과 Ax = λx를 만족하는 모든 상수 λ와 0이 아닌 모든 벡터 x (1개 ~ 최대 n 개)를 찾아야 한다. 이 글에서는 정방행렬로 된 고유값과 고유벡터 구해봤다 여기서 더 나아가면 정방행렬이 아닌 행렬에도 적용할 수 있는 SVD 특이값 분해를 할 수 있다. 2022. 3. 18.
[Multivariate Analysis] 다차원 통계그래프 Python R 산점도 행렬 sns.pairplot(social) #변수의 분포까지 확인 가능 # sns.pairplot(iris, hue='species', height=2.5) pairs(social) 상관계수행렬 round(cor(social, use="complete.obs"), 3) round(social.corr(), 3) 별그림 stars(social2) 얼굴그림 faces(social2, face.type=0) 1. R 1) R 산점도 행렬 > social = read.table("/Users/DataAnalytics/MultivariateAnalysis/mva/social.txt", header=T) > head(social, 3) YEAR POP GNI VEH CRIME ACCI HOS.. 2022. 3. 13.
[Multivariate Analysis] 이변량 통계그래프 Python R 선으로 그리기 plt.plot(co2.seq, co2.x) lines(smooth(co2),col='BLUE' 수학적 함수 그래프 plt.plot(x, y) plot(x,y,type="l") 버블플롯 plt.scatter('temp', 'wind', s='SO2', alpha=0.9, data=USairpollution) plot(wind~temp, data=USairpollution, pch=9) with(USairpollution, symbols(temp, wind, circle=SO2, inches=0.5, add=T) 이변량으로 확대한 상자그림 bvbox(x, xlab="manu", ylab="popul", pch=19) 1) R 이변량 그래프 - R bivariate graph .. 2022. 3. 13.
[Multivariate Analysis] 단변량 통계그래프 1. 단변량 그래프 먼저 빈도표를 구해야 한다. 빈도표를 구해서 Python R 캔버스 분할 plt.figure() plt.subplot(121) par(mfrow=c(1,2)) 새 창에서 그리기 dev.new() dev.off() 그래프 이름 title("Education of Female") 대화형 그래프 identify(x) 빈도수 막대그래프 plt.bar(edu_freq.index, edu_freq["count"]) barplot(edu_tb) 빈도표 겹친막대그래프 edu_sex_tb.plot.bar(stacked=True) barplot(sex_edu_tb, legend.text=rownames(sex_edu_tb), col=c(2,4)) 원그래프 plt.pie(edu_freq["count"],.. 2022. 3. 13.
[Multivariate Analysis] 기술통계량 및 분할표 기술통계량 및 분할표 Python과 R 비교 Python R csv 파일 불러오기 survey = pd.read_csv("survey.csv") survey = read.csv("survey.csv") 엑셀 파일 불러오기 beer = pd.read_excel("beer.xlsx, sheet_name=Beer") survey_data = read.xlsx"survey.xlsx", 1) 데이터 확인 survey.head(5) head(USairpollution, 6) 일정한 간격으로 자료 생성 range(0, 5, 2) np.arange(0, 20, 0.1) seq(0, 20, 0.1) 정규분포를 따르는 난수 생성 np.random.normal(-5, 2.5, 100) rnorm(100, -0.5, 2.5).. 2022. 3. 12.
728x90
반응형
LIST