-
통계-5 데이터 분석 방법통계 2023. 5. 29. 21:17
1. q-q플롯
q-q 플롯은 주어진 데이터가 정규분포되어 있는지 판단할 수 있는 그래프이다. 정규 분포된 데이터라면 좌측처럼 나타나고 그렇지 않은 데이터라면 우측처럼 나타난다. 즉 얼마나 어긋나는지를 보고 판단할 수 있으나 정확한 수치를 알기는 어렵다.
titanic = sns.load_dataset('titanic') stats.probplot(titanic['age'].dropna(),dist='norm',plot=plt) plt.title('q-q plot for age') plt.show()
타이타닉 데이터의 age 변수의 분포가 정규 분포와 얼마나 유사한지 확인할 수 있다.
2. 도수분포표
도수분포표는 각 카테고리에 대한 빈도수를 나타낸다.
3. 자기상관 함수(acf), 부분 자기 상관 함수(pacf)
자기 상관함수는 시계열 자료에 사용되며 어제의 주식의 값이 내일의 값에 영향을 주는 것처럼 이들이 상관관계를 가지고 있다는 것을 의미한다.
부분 자기상관 함수는 상관관계를 확인할 때 상관관계에 영향을 주는 다른 변수들을 모두 제거하고 두 변수 간의 상관관계만 확인하는 것이다. 즉 두 시계열 변수 간의 다른 확률 변수의 영향력은 제거하고 상관관계를 나타낸다.
4. arima(auto regressive intergrated moving average), prophet
arima 모델은 과거의 행동에 따라 움직이는 것을 바탕으로 하며 시계열이 안정성을 가지지 않을 때 사용된다.
prophet 모델은 휴일, 이슈 등 외부요소를 쉽게 반영하고 arima모델과 다르게 로그 변환 등 전처리가 필요하지 않다.
5. 공간 데이터의 이질성(heterogeneity)
공간 데이터의 이질성이란 지역이나 위치마다 값이 다를 수 있다는 것을 의미한다. 예를 들어 축구가 영국에서는 인기가 많지만 미국에서는 인기가 없는 것처럼 지리적으로 다른 지역에 따라 값이 다를 수 있다.
데이터의 분산이 클수록, 데이터의 범위가 클수록, 데이터의 중위수 주위의 범위가 클수록 이질성이 커진다.
6. 토큰화, 불용어 처리, 정규화
토큰화는 문장을 단어 단위로 분리하는 것이다. i am a student를 'i', 'am', 'a', 'student'로 분리할 수 있다.
토큰화를 하고 나서 'a', 'the' 같은 문장 분석에 의미가 없는 단어들을 불용어라고 한다.
정규화란 단어의 형태를 통일 시키는 것이다. 'am', 'is'를 be로 대체하여 정확성을 높인다.
!pip install nltk nltk.download('punkt') nltk.download('stopwords') import nltk from nltk.corpus import stopwords from nltk.tokenize import word_tokenize from nltk.stem import PorterStemmer text = 'i am a student. i am studying computer science.' tokens = word_tokenize(text) print('token', tokens) stop_words =set(stopwords.words('english')) filtered_tokens = [token for token in tokens if token.lower() not in stop_words] print('stopwords', filtered_tokens) stemmer = PorterStemmer() normalized_tokens = [stemmer.stem(token) for token in filtered_tokens] print('nomalizaiton', normalized_tokens) token ['i', 'am', 'a', 'student', '.', 'i', 'am', 'studying', 'computer', 'science', '.'] stopwords ['student', '.', 'studying', 'computer', 'science', '.'] nomalizaiton ['student', '.', 'studi', 'comput', 'scienc', '.']
입력된 문장을 word_tokenize함수로 토큰화하고 stopwords를 찾아 제거한다. stemmer 함수를 이용하여 단어를 정규화한다.
7. 단어 임베딩
컴퓨터가 단어를 이해할 수 없기 때문에 단어를 벡터형태로 표현하는 것을 임베딩이라고 한다.
word2 vec는 실제값과 예측에 대한 오차를 손실함수를 통해 줄여가며 두 가지 방식이 있다.CBOW는 주변단어의 임베딩을 더해서 대상단어를 예측하고, Skip-Gram은 대상 단어의 임베딩으로 주변단어를 예측한다.
glove는 word2vec의word2 vec의 단점을 보완하기 위한 기술이며 카운트 기반의 lsa와 예측기반의 word2 vec의 방법 두 가지를 모두 사용한다.
8. 베이지안 정리
베이즈 정리란 두 사건 a,b가 있을 때 조건부 확률과 각각의 확률 정보를 통해 순서가 뒤바뀐 조건부 확률을 구할 수 있는 정리이다.
a가 조건으로 주어졌을 때 b의 확률을, b가 조건으로 주어졌을 때 a의 확률을 구할 수 있다.
현재 가지고 있는 정보를 통해 부여한 확률을 사전확률이라고 하며 사건 발생 후에 일어날 것이라고 생각되는 확률 또는 추가 정보로부터 수정한 확률을 사후 확률이라고 한다.
'통계' 카테고리의 다른 글
통계-7 상관 분석 (0) 2023.05.29 통계-6 가설 감정 (0) 2023.05.29 통계-4 순서형 데이터, 이진 데이터, 시계열 데이터, 공간 데이터 (0) 2023.05.29 통계-3 범주형 데이터 (0) 2023.05.29