Metadata-Version: 2.1
Name: statmanager-kr
Version: 1.0.1
Summary: 사회과학의 맥락에서 통계를 손쉽게 사용할 수 있는 패키지 by Changseok Lee
Home-page: 
Author: ckdckd145
Author-email: ckdckd145@gmail.com
Keywords: statistic,socialscience,stats
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Requires-Python: >=3.6
Description-Content-Type: text/markdown
Requires-Dist: pandas
Requires-Dist: scipy
Requires-Dist: statsmodels
Requires-Dist: numpy
Requires-Dist: json

# STAT MANAGER KR
## 개발자 정보
이창석   
이메일: ckdckd145@gmail.com   
Linkedin: www.linkedin.com/in/cslee0052   
버그가 발생하거나 제안사항은 언제든지 이메일로 연락주시면 감사하겠습니다.     
## Ver 1.0.1
지원하는 통계방법은 지속적으로 업데이트할 예정입니다.   
* 현재까지 지원하는 통계종류
    * 정규성 검정
        * Kolmogorov-Sminrnov Test
        * Shapiro-Wilks Test
        * Z-Skewness & Z-Kurtosis Test
    * 등분산성 검정
        * Levene Test
        * Fmax Test
    * 빈도분석
        * 카이제곱검정 (Chi-square Test)
    * 상관분석
        * Pearson's r
        * Spearman's r
    * 차이비교 (2)
        * 모수검정법
            * 독립표본 T-Test (Independent Samples T-Test)
            * 대응표본 T-Test (Dependent Samples T-Test)
        * 비모수검정법
            * Mann-Whitney U Test (2집단 간 차이를 검정하는 비모수 기법)
            * Wilcoxon-Signed Ranksum Test (집단 내 두 변수의 차이를 검정하는 비모수 기법)
    * 차이비교 (3)
        * 모수검정법
            * One-way ANOVA
        * 비모수검정법
            * Kruskal Wallis Test
        * 사후검증 (Post-hoc)
            * Bonferroni correction 
            # 
* 업데이트 예정 통계종류
    * Bootstrap
        * Bootstrap sampling
        * Bootstrap percentile method
    * 회귀
        * 선형회귀 (Linear regression)
        * 로지스틱회귀 (Logistic regression)
        * 일반화추정방정식 (General Estimating Equation)
    * 차이비교 (3)
        * One-way Repeated Measures ANOVA
        * N-way ANOVA
        * N-way Repeated Measures ANOVA
    * 사후검증 (Post-hoc)
        * Tukey HSD


### 개발 목적
해당 프로그램은 python에서 pandas를 활용하여 데이터 분석을 주로 하시는 분들을 위한 패키지입니다.   
SPSS와 같이 손쉬운 통계를 제공하는 툴이 시중에 출시되어 있지만, 가격이 비싸다는 단점이 있습니다.   
pandas를 주로 사용하시는 분들이 사용하기에 번거롭다는 것도 단점입니다.   
하지만, 그렇다고 scipy나 statmodels와 같은 패키지를 사용하기에는 요구되는 코딩 방식과 데이터프레임의 방식이 상이한 부분이 많아 어려움이 큽니다.   
이를 상쇄하고자 하나의 통일된 방식의 코딩을 통해 통계분석을 진행할 수 있게끔 패키지를 만들고 있습니다.   

#
### 활용
#### 필요 패키지
* pandas
* statsmodels
* scipy
* numpy
* json

#### 안내
jupyter notebook 사용을 권고합니다.

#### 설치
    pip install statmanager-kr

#### Import
    from statmanager import Stat_Manager

#### 객체 생성
    sm = Stat_Manager(df)
* df : pandas 데이터 프레임

#### 분석 메소드
    sm.progress()
* args:
    * method : (필수)(str) 분석 방법
        * Kolmogorov-sminrnov Test : 'kstest'
        * Shapiro-Wilks Test : 'shapiro'
        * Z-Skewness * Z-Kurtosis Test : 'z_normal'
        * Levene Test : 'levene'
        * Fmax Test : 'fmax'
        * 카이제곱검정 : 'chi2_contingency'
        * Pearson's r 상관분석 : 'pearsonr'
        * Spearman's r 상관분석 : 'spearmanr'
        * 독립표본 t : 'ttest_ind'
        * 대응표본 t : 'ttest_rel'
        * Mann-Whitney U Test : 'mannwhitneyu'
        * Wilcoxon-Signed Ranksum Test : 'wilcoxon'
        * One-way ANOVA : 'f_oneway'
        * Kruskal-Wallis Test : 'kruskal'
        #
    * vars : (필수)(list) 분석할 변수명 
    #
    * group_vars : (선택)(str) 그룹 변수명
        * default: None
        * 집단 변수가 필요한 분석의 경우 필수로 제공해야 합니다.
            * Levene Test
            * Fmax Test
            * 독립표본 t
            * Mann-Whitney U Test
            * One-way ANOVA
            * Kruskal-Wallis Test
            #
    * group_names : (선택)(list) 그룹 변수 내 비교할 그룹명
        * default: None   
        * 집단 변수가 필요한 분석의 경우 필수로 제공해야 합니다.
        #
    * posthoc : (선택) 사후검증을 진행하는 경우 True
        * default: False

##### 예시
##### 예제 확인 링크: https://cslee145.notion.site/statmanager-kr-c277749fe94b4e08a836236b409642b3?pvs=4

1. Kolmogorov-Sminrnov Test
#
    sm.progress(method = 'kstest', vars = ['age'])
#
해석: 연령(age)의 정규성 검정
#
2. Levene Test
#
    sm.progress(method = 'levene', vars = ['age'], group_vars = 'sex', group_names = ['male', 'female'])
#
해석: 남성, 여성 집단(sex) 간 연령(age)에 대한 등분산성 검정
#
3. Pearson's r 상관분석
#
    sm.progress(method = 'pearsonr', vars = ['age', 'income', 'prescore', 'postscore'])
#
해석: 연령(age), 수입(income), 사전측정치(prescore), 사후측정치(postscore) 간 상관분석
#
4. 독립표본 t검정
#
    sm.progress(method = 'ttest_ind', vars = ['postscore'], group_vars = 'condition', group_names = ['test_group', 'control_group'])
#
해석: 집단 변수인 조건(condition)에 따라, 시험군(test_group), 통제군(control_group) 간 사후측정치(postscore)의 차이 비교
#
5. 대응표본 t검정
#
    sm.progress(method = 'ttest_rel', vars = ['prescore', 'postscore'])
#
해석: 사전측정치(prescore), 사후측정치(postscore) 간 차이 비교
#
6. One-way ANOVA
#
    sm.progress(method = 'f_oneway', vars = ['postscore'], group_vars = 'condition', group_names = ['test_group', 'sham_group', 'control_group'])
#
해석: 집단 변수인 조건(condition)에 따라, 시험군(test_group), 위약군(sham_group), 통제군(control_group) 간 사후측정치(postscore)의 차이 비교
#
사후검증까지 수행하는 경우
#
    sm.progress(method = 'f_oneway', vars = ['postscore'], group_vars = 'condition', group_names = ['test_group', 'sham_group', 'control_group'], posthoc = True)
