投稿

11月, 2023の投稿を表示しています

「統計解析のはなし―データに語らせるテクニック」9章

イメージ
大村平「統計解析のはなし―データに語らせるテクニック」日科技連  の読後行間補充メモ 同書籍は、印刷数表と手計算による統計解析を紹介した良書。 本稿では、同書籍の設例について、プログラムによる演算処理をした場合の例を示す。 コードと出力例は、Python[Google Colaboratory] 9章 なんでも数字で表す法 ~数量化のはなし~  p262 5段階評価 表9.1 等間隔目盛りで評価対象を測定する線形の評価。 平均値をまたいだ \(1\sigma\) の区間に約38パーセントの確率分布。 import numpy as np from scipy.stats import norm import pandas as pd import matplotlib.pyplot as plt p_inf = float('inf') # 無限大 # 設定値 mean = 0 # 平均 sigma = 1 # 標準偏差 # 領域の上限 up1 = -sigma *3/2 up2 = -sigma/2 up3 = sigma/2 up4 = sigma *3/2 up5 = p_inf up_list = [-p_inf, up1, up2, up3, up4, up5] # リスト化 # 領域の確率 area_prob = [] for up in range(len(up_list)-1): prob = norm.cdf(up_list[up+1], mean)-norm.cdf(up_list[up], mean) area_prob.append(round(prob*100,1)) # DF化 ## index生成 subject = "{}点クラス" point_list = ['1','2','3','4','5'] index_info = [] for point in point_list: class_name = subject.format(point) # 差込で語句生成 index_info.append(class_name) ## DF生成 DFw = pd.DataFrame(

「統計解析のはなし―データに語らせるテクニック」8章

イメージ
大村平「統計解析のはなし―データに語らせるテクニック」日科技連  の読後行間補充メモ 同書籍は、印刷数表と手計算による統計解析を紹介した良書。 本稿では、同書籍の設例について、プログラムによる演算処理をした場合の例を示す。 コードと出力例は、Python[Google Colaboratory] 8章 複雑さをばらす法 ~多変量解析のはなし~  p231 主要な因子を選び出す 表8.2 検定:因子が評価を左右する影響力を有するか。 因子分析:評価に影響を及ぼす主要な因子を選びだす。 import pandas as pd # 基礎データ A = [3,1,2,3,1] B = [2,3,1,2,2] C = [3,2,2,3,1] D = [2,3,1,2,3] DF = pd.DataFrame([A,B,C,D]).T index_info = ['甲','乙','丙','丁','戊'] col_info = ['A子','B子','C子','D子'] DF.index =index_info DF.columns = col_info DF # 表8.2 A子 B子 C子 D子 甲 3 2 3 2 乙 1 3 2 3 丙 2 1 2 1 丁 3 2 3 2 戊 1 2 1 3 p233 表8.4 相関係数の一覧表 # コードは上記の続き import math # 関数(2つのリストの相関係数) def correlate(list1, list2): s_1 = pd.Series(list1) s_2 = pd.Series(list2) res = round(s_1.corr(s_2),2) return res # 関数(DataFrameの n行と m行の相関係数) def corre(n,m): list1 = DF.iloc[:,n] list2 = DF.iloc[:,m] return correlate(list1,list2) # 相関係数の関数 # 全行と全行の相関係数の一覧 line_total = [] for n in ra

「統計解析のはなし―データに語らせるテクニック」7章

イメージ
大村平「統計解析のはなし―データに語らせるテクニック」日科技連  の読後行間補充メモ 同書籍は、印刷数表と手計算による統計解析を紹介した良書。 本稿では、同書籍の設例について、プログラムによる演算処理をした場合の例を示す。 コードと出力例は、Python[Google Colaboratory] 7章 総身に知恵はまわるのか ~相関と回帰のはなし~  p201~204 正の相関/負の相関/相関なし import pandas as pd index_info = ['By_Kou','By_Otsu'] # 共通 col_info = ['A','B','C','D','E'] # 共通 # 表7.1 DF = pd.DataFrame([[5,4,3,2,1], [5,4,3,2,1]], index = index_info, columns = col_info) DF.loc['multiplied'] = DF.loc['By_Kou'] * DF.loc['By_Otsu'] squared_sum = DF.loc['multiplied'].sum() print(f'表7.1\n{DF}') print(f'積和:{squared_sum}') # 表7.2 DF2 = pd.DataFrame([[5,4,3,2,1], [1,2,3,4,5]], index = index_info, columns = col_info) DF2.loc['multiplied'] = DF2.loc['By_Kou'] * DF2.loc['By_Otsu'] squared_sum = DF2.loc['multiplied'].sum() print(f'\n表7.2\n{DF2}') print(f'積和:{squared_sum}') # 表7.3 DF3 = pd.D

「統計解析のはなし―データに語らせるテクニック」5章~6章

イメージ
大村平「統計解析のはなし―データに語らせるテクニック」日科技連  の読後行間補充メモ 同書籍は、印刷数表と手計算による統計解析を紹介した良書。 本稿では、同書籍の設例について、プログラムによる演算処理をした場合の例を示す。 コードと出力例は、Python[Google Colaboratory] 5章 代表選手の言い分を聞く  p138 e の -m乗 の一覧表 import pandas as pd import math mlist = pd.DataFrame([0,0.01,0.02,0.05,0.1,0.2,0.3,0.5,1,2,3,5,8]) e_list = round(math.e**(-mlist),5) emlist = pd.DataFrame(e_list) DF = pd.concat([mlist,emlist],axis=1) DF.columns=['m','e^{-m}'] DF m e^{-m} 0 0.00 1.00000 1 0.01 0.99005 2 0.02 0.98020 3 0.05 0.95123 4 0.10 0.90484 5 0.20 0.81873 6 0.30 0.74082 7 0.50 0.60653 8 1.00 0.36788 9 2.00 0.13534 10 3.00 0.04979 11 5.00 0.00674 12 8.00 0.00034 p139 ロット不良品率、標本数、標本中の不良品数 → そのようになる確率 母集団が大きく(例:1ロットあたり数千個)、ロット不良率が小さく( \(p<0.1\) )、標本数(サンプル数)が一定数以上(\(n>50\))等の前提での近似式(ポアソン分布)を使用。 import math p = float(input('ロットの不良品率:',)) n = int(input('標本の数:',)) r = int(input('標本中の不良品数:',)) P_r = (n*p)**r/math.factorial(r)*(math.e)**(-n*p) print(f'上記のようになる確率:{