天天看點

python統計分析-卡方檢驗

#!/usr/bin/env python
# -*- coding:utf-8 -*-

# <editable>

def execute():
    # <editable>
    '''
    載入子產品
    '''
    from scipy.stats import chisquare
    import pandas as pd
    from sqlalchemy import create_engine
    '''
    連接配接資料庫
    '''
    engine = create_engine('mysql+pymysql://root:[email protected]:3306/analysis')
    '''
    選擇目标資料
    '''
    params = {
        "sequence": "SUNACTIVITY",
        "n_components": 1,
        "max_iter": 1000,  # default=1000
    }
    inputs = {"table": '純随機性檢驗'}
    data_sql = 'select ' + params['sequence'] + ' from ' + inputs['table']
    data_in = pd.read_sql_query(data_sql, engine)
    print(data_in)
    '''
    卡方檢驗
    '''
    sequence = data_in[params['sequence']]
    p = chisquare(sequence)[1]
    data_out = ''
    if (p < 0.05):
        data_out += '卡方檢驗結果\n'
        data_out += "p值為:" + str(p) + ",可以證明檢驗結果顯著\n"
    else:
        data_out += '卡方檢驗結果\n'
        data_out += "p值為:" + str(p) + ",無充分證據證明檢驗結果顯著\n"


    '''
    生成報告
    '''
    print(data_out)
    '''
    資料示例
        SUNACTIVITY
    0           5.0
    1          11.0
    2          16.0
    3          23.0
    4          36.0
    5          40.4
    6          29.8
    7          15.2
    8           7.5
    9           2.9
    10         83.4
    11         47.7
    12         47.8
    13         30.7
    14         12.2
    15         40.4
    16         29.8
    17         15.2
    18          7.5
    19          2.9
    20         12.6
    卡方檢驗結果
    p值為:4.588067761138235e-56,可以證明檢驗結果顯著
    '''
# </editable>


if __name__ == '__main__':
    execute()      

作者:沐禹辰

出處:http://www.cnblogs.com/renfanzi/

本文版權歸作者和部落格園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接配接。