본문 바로가기
Growth/통계

데이터 과학을 위한 통계

by Diligejy 2023. 10. 21.

p.19

1962년 존 투키는 [The Future of Data Analysis]라는 대표 논문에서 통계학의 개혁을 요구했다. 그는 통계적 추론을 하나의 구성 요소로 보는 데이터 분석(data analysis)이라는 새로운 과학적 학문을 제안했다. 투키는 통계를 공학과 컴퓨터 과학 분야에 접목하기 위해 끊임없이 노력했다 (그는 이진수를 뜻하는 '비트'라든가 '소프트웨어' 같은 용어를 만들기도 했다). 그리고 이런 그의 오랜 신념은 아직까지 이어져, 데이터 과학의 한 토대가 되었다. 탐색적 데이터 분석이란 분야는, 이미 고전이 된 투키의 1977년 책 [Exploratory Data Analysis](Pearson, 1977)를 통해 정립되었다. 투키는 요약통계량(summary statistics - 평균, 중앙값, 분위수 등)과 함께 데이터 집합을 그림으로 표현하는 데 도움이 되는 간단한 도표(예: 상자그림, 산점도)를 제시했다.

 

https://www.jstor.org/stable/2237638

 

p.21

데이터 종류를 분류하는 이 귀찮은 일을 왜 하는 걸까? 데이터를 분석하고 예측을 모델링할 때, 시각화, 해석, 통계 모델 결정 등 데이터 종류가 중요한 역할을 하기 때문이다. R이나 파이썬 같은 데이터 과학 소프트웨어들은 실제로 계산 성능을 향상시키기 위해 이러한 데이터 종류 정보를 활용한다. 더 중요한 것은 소프트웨어는 변수의 종류에 따라 해당 변수에 관련된 계산을 어떤 식으로 수행할지 결정한다는 점이다.

 

p.22

데이터가 문자열인지 아니면 일정한 범위가 주어진 범주형인지 확실히 구분하면 다음과 같은 이점이 생긴다.

 

- 데이터가 범주형이라는 정보는 소프트웨어가 차트 생성이나 모델 피팅 등 통계분석을 수행하는 방식을 결정하는 데 큰 도움을 준다. 특히 R에서는 순서형 데이터를 ordered.factor라고 구분하여 표현하고, 이를 차트, 테이블, 통계 모델에서 사용자가 원하는 순서를 유지하는 데 사용한다. 파이썬에서는 사이킷런(scikit-learn) 패키지가 sklearn.preprocessing.OrdinalEncoder로 순서형 데이터를 지원한다.

 

- 관계형 데이터베이스에서처럼, 저장소와 인덱싱을 최적화하는 데 사용한다.

 

- 범주형 변수가 취할 수 있는 값들은 소프트웨어적으로 처리가 가능하다(enum처럼).

 

하지만 세 번째 '이점'은 뜻밖의 예상치 못한 결과를 가져오기도 한다. R에서 데이터를 읽어오는 데 사용하는 함수 (예를 들어 read.csv)는 기본적으로 텍스트 형태의 열 데이터를 factor로 자동 변환한다. 따라서 이 열에는 처음 읽은 문자열 값만 허용되고, 만약 새로운 텍스트 값을 할당하면 경고와 함께 NA (결측값)가 할당된다. 파이썬의 판다스 패키지에서는 이러한 변환이 자동으로 이뤄지지 않는다. 하지만 read_csv함수를 이용하여 어떤 열을 명시적으로 범주형으로 지정할 수 있다.

 

p.22~23

 

- 판다스 공식문서에 있는 파이썬 데이터 종류와 이를 활용하는 방법

https://pandas.pydata.org/pandas-docs/stable/user_guide/basics.html#dtypes

 

Essential basic functionality — pandas 2.1.1 documentation

Essential basic functionality Here we discuss a lot of the essential functionality common to the pandas data structures. To begin, let’s create some example objects like we did in the 10 minutes to pandas section: In [1]: index = pd.date_range("1/1/2000"

pandas.pydata.org

- R 데이터 종류 정보 

 

https://www.r-tutor.com/r-introduction/basic-data-types

 

Basic Data Types | R Tutorial

There are several basic R data types that are of frequent occurrence in routine R calculations. Though seemingly innocent, they can still deliver surprises. Instead of chewing through the language specification, we will try to understand them better by dir

www.r-tutor.com

- SQL 가이드

https://www.w3schools.com/sql/sql_datatypes.asp

 

SQL Data Types for MySQL, SQL Server, and MS Access

W3Schools offers free online tutorials, references and exercises in all the major languages of the web. Covering popular subjects like HTML, CSS, JavaScript, Python, SQL, Java, and many, many more.

www.w3schools.com

 

 

p.25

R의 data.frame은 기본적으로 다중 인덱스를 지원하지 않는다. 이러한 단점을 보완하기 위해서 나온 두 가지 패키지 data.table과 dplyr가 현재 널리 사용된다. 모두 다중 인덱스를 지원하고 data.frame을 다루는 데 상당한 속도 개선을 가져왔다.

댓글