My Notes

統計学とかR(R言語)とかPython3の覚え書きとか走り書きとか。 座右の銘にしたい: All work and no play makes Jack a dull boy.

R(R言語)で、重回帰分析における予備的解析(1変数ごとの予備的解析、要約統計量、度数、(不偏)標準偏差、データのグラフ化、ヒストグラム、箱ヒゲ図、ドットプロット、幹葉図)

Rコード # # 使用するデータと解説は『SPSSによる回帰分析』p28~33 # # # 重回帰分析における予備的解析 # 1変数ごとの予備的解析 # # # 使用するデータについて # # ある製品の重量y(単位 : mg)と、 # その製品を製造するときの条件x1(熱処理時間 : 秒)、x2…

試験的にソーシャパーツを設置しました。

当ブログは、ただの My Notes ですが、Webで公開している以上、 少しは利便的なほうがいいかと思いまして、ソーシャルパーツを設置することにしました。 あまり有益なことは書いていないブログですが、ご利用したい場合、どうぞ。

Python3(pandas)で、統計学の基礎を繰り返し。代表値。平均値。資料から直接算出する平均値と度数分布(表)から算出する平均値。

Python3コード #!/usr/bin/env python3 """(docstring) """ # 統計学の基礎を繰り返し。 # # 代表値。 # 平均値。 # 資料から直接算出する平均値と度数分布(表)から算出する平均値。 # # 基礎となる概念や数式の理解のためであるので、 # Python関係のmean()…

R(R言語)で、単回帰分析(回帰直線、回帰式、回帰係数、最小二乗法、重相関係数R、回帰式の有意性、回帰式の有効性、寄与率(R2乗値)、残差標準偏差(残差の標準誤差)、母回帰係数の信頼区間(区間推定))

Rコード # # 使用するデータと解説は『SPSSによる回帰分析』p10~ # # # データについて # マンション価格yと占有面積xを20物件について調べた結果 # 物件番号_vec <- c(1:20) # (m2) 占有面積x_vec <-c(65.87, 48.23, 56.76, 64.62, 54.03, 68.44, 47.77, 51…

統計学 回帰分析 変数の種類の要件

単回帰、重回帰分析 変数の種類について 目的変数(応答変数 response variable, 従属変数 dependent variable)は、量的変数(連続変数)でなくてはならない。 説明変数(explanatory variable, 予測変数 predictor variable, 独立変数 independent variable)は…

統計学 数学 数値計算で使用してるiOSアプリ。

数値計算のほんとの手計算が面倒くさい 例えば、4x-2y=1 という1次方程式がある場合、紙とペンで計算すればいいわけですが、 当ブログ筆者は、生徒・学生・受験生等ではないし、面倒くさいわけです。 紙とペンだと計算間違いもあるしで。 一次方程式とかだと…

Python3(pandas, matplotlib)で、ヒストグラムを作成。matplotlib.pyplot as plt, plt.hist()

Python3コード #!/usr/bin/env python3 """(docstring) """ # 使用したデータは『統計処理ポケットリファレンス』 import matplotlib.pyplot as plt import numpy as np import pandas as pd def main(): """(docstring) """ # matplotlib # macOSやOS Xで文…

Python3(pandas, Scipy, StatsModels)で、要約統計量、相関係数、p値、単回帰分析。statsmodels.formula.api.ols(), statsmodels.formula.api as smf, smf.ols()

Python3コード #!/usr/bin/env python3 """(docstring) """ # 使用したデータは『マンガでわかる統計学 [回帰分析編]』第2章 import matplotlib.pyplot as plt import numpy as np import pandas as pd import scipy as sp from scipy import stats import s…

Python3(pandas, StatsModels)で、単回帰分析。regression.linear_model.OLS()

Python3コード #!/usr/bin/env python3 """(docstring) """ # 使用したデータは『マンガでわかる統計学 [回帰分析編]』第2章 import matplotlib.pyplot as plt import numpy as np import pandas as pd import statsmodels.api as sm # statsmodels.regressi…

Python3 my tips lambda(ラムダ)式 *でリストをアンパック(展開)し、map()に渡す。

Python3コード >>> x = [1, 2, 3] # アンパックするまでもないやり方から。 >>> x [1, 2, 3] >>> res1 = list(map(lambda x: x * 2, x)) >>> res1 [2, 4, 6] >>> xy = [[1, 2, 3], [4, 5, 6]] # アンパック用に適当に2次元リストを作成。 >>> xy [[1, 2, 3],…

Python3(pandas, Scipy)で、差に対するカイ二乗検定。stats.chisquare()

Python3コード #!/usr/bin/env python3 """(docstring) """ # 使用したデータは『すぐできる生物統計』 # # 差に対するカイ二乗検定 # # メンデルの法則に従う遺伝実験で、しわのないえんどう豆としわのあるえんどう豆の # 雑種第1世代(F1)が交雑された。 # …

Python3(matplotlib, pandas, Scipy)で、分散分析。stats.pearsonr()

Python3コード #!/usr/bin/env python3 """(docstring) """ # 使用したデータは『すぐできる生物統計』 # # 相関分析(ピアソンの相関係数) # # 年輩患者の心臓血管の健康状態を調べるため、30人の患者の心拍数と血圧が測定された。 # これらの変数(変量)の間…

Python3(pandas, Scipy)で、一元配置分散分析(ANOVA)。stats.f_oneway()

Python3コード #!/usr/bin/env python3 """(docstring) """ # 使用したデータは『すぐできる生物統計』 # # 一元配置分散分析 # # 2つのグループの魚の体重が互いに有意に違っているかどうか # 帰無仮説 # 2つのグループの魚が同じ平均体重をもっている。 # …

Python3(リスト内包表記) 最大公約数(gcd)を求める。算数の奥深さ。

コードを書く際の縛り 可能な限りビルトイン関数は使用しない。 Sympy等の数学ライブラリは使用しない。 リスト内包表記を使用する。 可読性は気にしない。 汎用性は気にしない。 例外処理等はしない。 オレオレアルゴリズムで頑張る。 Python3コード #!/usr…

Python3(pandas, Scipy)で、平均、標準偏差、標準誤差、一標本t検定(両側)。stats.ttest_1samp()

Python3コード #!/usr/bin/env python3 """(docstring) """ # 使用したデータは『すぐできる生物統計』 # # 統計学のテストで25人の学生の点数(単位はパーセント)がある。 # これらの点数について、平均値、標準偏差、標準誤差を算定。 # 学生の平均成績は58…

Python3(リスト内包表記、for文、lambda式) 公倍数を求める。算数の奥深さ。

コードを書く際の縛り 可能な限りビルトイン関数は使用しない。 Sympy等の数学ライブラリは使用しない。 アルゴリズムの理解のため、愚直に書く。 Python3コード #!/usr/bin/env python3 """(docstring) """ # アルゴリズムの説明 # # 倍数のアルゴリズム # …

Python3(pandas, Scipy)で、対応のない(対になっていない)2標本t検定(両側)。ウェルチのt検定ではない場合とウェルチのt検定の場合。scipy.stats.ttest_ind()

Python3コード #!/usr/bin/env python3 """(docstring) """ # 使用したデータは『すぐできる生物統計』 # # 対応のない(対になっていない)2標本t検定(両側) # 16匹のオス象と16匹のメス象の体重(単位はトン)は、違った平均体重をもつかどうか。 # # 帰無仮説…

たまにはプログラミング言語で遊ぶ。Go言語でFizzBuzz。

Go言語コード fizzbuzz.go package main import ( "fmt" ) func fizzbuzz() { for i := 1; i <= 100; i++ { if i%3 == 0 && i%5 == 0 { fmt.Println("FizzBuzz") } else if i%3 == 0 { fmt.Println("Fizz") } else if i%5 == 0 { fmt.Println("Buzz") } else…

Python3(NumPy, Scipy, pandas)で、対応のある(対の)2標本t検定(両側)。scipy.stats.ttest_rel()

Python3コード #!/usr/bin/env python3 """(docstring) """ # 使用したデータは『すぐできる生物統計』 # # 対応のある(対の)2標本t検定(両側) # 9つの池のpHについて、夜明けと夕暮れに測定された2系列の測定結果 # # 帰無仮説 # pH濃度の差の平均値が0であ…

Python3(pandas, Scipy)で、一標本t検定(両側)。stats.ttest_1samp()

Python3コード #!/usr/bin/env python3 """(docstring) """ # 使用したデータは『すぐできる生物統計』 # # 帰無仮説 # オス象の平均体重は4.50トンである。 # import matplotlib.pyplot as plt import numpy as np import pandas as pd import scipy as sp …

Python3(NumPy, pandas, scikit-learn)で機械学習(Machine Learning)。 irisを読み込む。方法いろいろ。

Python3コード #!/usr/bin/env python3 """(docstring) """ import numpy as np import pandas as pd from sklearn.datasets import load_iris # datasets.load_iris() として使用する場合。 # from sklearn import datasets def main(): """(docstring) """…

Python3 Scipy(stats.linregress())とscikit-learn(sklearn linear_model.LinearRegression())で単回帰分析。

Python3コード #!/usr/bin/env python3 """使用したデータは『マンガでわかる統計学 [回帰分析編]』第2章 """ # # 結論から先に書いておくと、Scipyのstats.linregressだけでは、 # 主要な値は出せても、プロットするのが辛い。 # プロットするのに適してい…

Python3 my tips lambda(ラムダ)式

Python3コード #!/usr/bin/env python3 """(docstring) """ def main(): """(docstring) """ f = lambda x, y, z: x + y + z print(f(1, 2, 3)) print('') l1 = [(lambda x: x**1), (lambda x: x**2), (lambda x: x**3), (lambda x: x**4), (lambda x: x**5)…

Python3(matplotlib, NumPy, pandas, Scipy)で、(ピアソンの)相関係数(とp値)と散布図

Python3コード #!/usr/bin/env python3 """使用するデータは『Rによるやさしい統計学』の第3章から。 """ import matplotlib.pyplot as plt import numpy as np import pandas as pd import scipy as sp from scipy import stats def main(): """(docstring)…

Python3(scikit-learn)で単回帰分析

Python3コード #!/usr/bin/env python3 """(docstring) """ # (PEP8に従うなら、importはアルファベット順に)。 import numpy as np import matplotlib.pyplot as plt import pandas as pd from sklearn import linear_model def main(): """(docstring) """…

Python3 class(クラス) my テンプレ

Python3コード 文字列の場合 #!/usr/bin/env python3 """(docstring) """ class Person: """(docstring) """ def __init__(self, name): """(docstring) """ self.name = name print('init') def hi(self): """(docstring) """ print('Hi ' + self.name + '.…

Python3(Numpy, pandas, Scipy)で、合計、平均、中央値、最頻値、(標本)分散、(標本)標準偏差、標準化(基準化)、偏差値を算出。

Python3コード #!/usr/bin/env python3 """(docstring) 使用したデータは『Rによるやさしい統計学』の第2章。 """ # あまりスマートなimportのやり方ではないと思うが、 # ちょっと明示的に使い分けたいので。 # (あと、PEP8に従いたければ、アルファベット…

Python3 標準ライブラリ巡り statistics

Python3コード #!/usr/bin/env python3 """(docstring) """ import statistics def my_statistics(): """(docstring) doctest >>> my_data = [1, 2, 2, 3] >>> my_mean = statistics.mean(my_data) >>> print('{0} {1}'.format('算術平均', my_mean)) 算術平…

R(R言語)のshinyで楽しいアプリ作成。ごく初歩から。

始め方 RStudioから install.packages("shiny") RStudioから新規プロジェクトを作成。 New Project -> New Directory -> Shiny Web Application を順に選択。 ディレクト名を付けて、Create Projectをクリック。 ui.Rとserver.Rの2つのファイルが自動的に作…

Python3 my tips リスト内包表記 zip()

Python3コード >>> [i for i in zip(range(1, 10+1), range(2, 11+1))] [(1, 2), (2, 3), (3, 4), (4, 5), (5, 6), (6, 7), (7, 8), (8, 9), (9, 10), (10, 11)]

Python3 my tips リスト内包表記 append(), string.ascii_letters, アンパック

Python3コード >>> import string >>> string.ascii_letters 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ' >>> x = ['letters:'] >>> x ['letters:'] >>> x.append([i for i in string.ascii_letters]) >>> x ['letters:', ['a', 'b', 'c', 'd',…

Python3 my tips リスト内包表記 append() アンパック

Python3コード >>> x = [] >>> x [] >>> x.append([i for i in range(1, 10+1)]) >>> x [[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]] >>> print(*x) [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

Python3 my tips リスト内包表記 sum()

Python3コード >>> sum([i for i in range(1, 10+1)]) 55 >>> x = [1.1, 2.2, 3.3, 4.4, 5.5, 6.6, 7.7, 8.8, 9.9, 10.10] >>> x [1.1, 2.2, 3.3, 4.4, 5.5, 6.6, 7.7, 8.8, 9.9, 10.1] >>> sum([i for i in x]) 59.6

Rcppで標本分散を求める自作関数を作成する

Rcppコード #include <Rcpp.h> using namespace Rcpp; // [[Rcpp::export]] double rcpp_varp(NumericVector x) { // あまりC++な書き方ではないと思うが、変数に代入していくと値がおかしくなるので...。 // (勉強不足)。 return sum(pow(x - mean(x), 2)) / x.leng</rcpp.h>…

R(R言語)で、主成分分析(寄与率、寄与率の求め方)

Rコード # # R(R言語)で、主成分分析(寄与率、寄与率の求め方) # # # 使用するデータと解説は、『多変量解析がわかる』 第3章 p.81~82 # # 使用するデータ 20人の中学生の5教科のテスト結果 出席番号_vec <- c(1:20) 数学x_vec <- c(71, 34, 58, 41, 69, 64,…

reticulateとPython3で楽しむプログラミング。正の整数の因数を求める。

Python3コード (ファイル(モジュール)名は、factors.py とした)。 #!/usr/bin/env python3 """(docstring 必要ならば書く。) """ def calc_factors(num): """(docstring 必要ならば書く。) """ try: if num <= 0: print('Bless you!') return # 一応、ハマら…

R(R言語)からPython3のファイル(モジュール)を呼び出す。reticulateで楽しむPython3。Python3で楽しむreticulate。リスト内包表記。

Python3コード (テンプレ的なのを作成したが、くどさと雑さが混じって我ながら酷いと思うがとりあえず動く(とりあえず動くんだ(とりあえずは)))。 (ファイル(モジュール)名は、my_py3_script.py こういう名は、とくに実用的にはよくない、と思う(のが普通(だ…

R(R言語)からPython3のビルトイン関数を使う。 九九表から始めるreticulate。

R(とPython3)コード # # R(R言語)からPython3のビルトイン関数を使う。 九九表から始めるreticulate。 # library(reticulate) # py_config() 読み込んだPythonのバージョン確認。 # Python3のビルトイン関数を使用するために。 py <- import_builtins() # Py…

R(R言語)で、主成分分析(主成分の求め方、主成分得点)

Rコード # # R(R言語)で、主成分分析(主成分の求め方、主成分得点) # # # 使用するデータと解説は、『多変量解析がわかる』 第3章 p.77~80 # # 使用するデータ 20人の中学生の5教科のテスト結果 # # 出席番号_vec <- c(1:20) 使用するのはやめた。 数学x_vec …

R(R言語)で、外れ値を考える(相関係数(ピアソン)、散布図、外れ値の除去・削除、相関係数の再確認、順位相関係数(ケンドール、スピアマン)

Rコード # # R(R言語)で、外れ値を考える # # # 使用するデータと解説は、『実践形式で学ぶ SPSSとAmosによる心理・調査データ解析』 # Exercise 1 p.2~9 # # # 書籍通りに従うと、 # 相関係数(ピアソン)、散布図、外れ値の除去・削除、相関係数の再確認、 #…

R(R言語)で、相関係数を求め単回帰分析、それを検討するために散布図、偏相関係数、重回帰分析(疑似相関を考える)

Rコード # # R(R言語)で、相関係数を求め単回帰分析、それを検討するために散布図、偏相関係数、重回帰分析(疑似相関を考える)。 # # # 使用するデータと解説は、『実践形式で学ぶ SPSSとAmosによる心理・調査データ解析』 # Exercise 2 p.10~17 # # # 書籍…

ノンパラメトリック検定 Wilcoxsonの符号つき順位検定(対応あり)をR(R言語)で。wilcox.test()

Rコード # # ノンパラメトリック検定 Wilcoxsonの符号つき順位検定(対応あり) # # # 参考にするデータや帰無仮説の立て方は、 #『パソコンで簡単! すぐできる生物統計 統計学の考え方から統計ソフトSPSSの使い方まで』 # 第8章 p.145~149 # # # 帰無仮説 # …

分散分析 一元配置分散分析(対応なし)をR(R言語)で。 oneway.test(), aov(), anova()

Rコード # # 分散分析 一元配置分散分析(対応なし) # # # 参考にするデータや帰無仮説の立て方は、 #『パソコンで簡単! すぐできる生物統計 統計学の考え方から統計ソフトSPSSの使い方まで』 # 第4章 p.69~70 # # # 帰無仮説 # "グループが同じ平均を持って…

アイスクリーム統計学 第5章 偏相関をR(R言語)で 試しに偏相関係数を計算する関数を作成

Rコード # アイスクリーム統計学 ch05 # # 偏相関 # # 最低気温のデータも含めたすべてのデータ データ番号_vec <- c(1:20) 最高気温_vec <- c(33, 33, 34, 34, 35, 35, 34, 32, 28, 35, 33, 28, 32, 25, 28, 30, 29, 32, 34, 35) 最低気温_vec <- c(22, 26,…

アイスクリーム統計学 第4章 単回帰をR(R言語)で (書籍なら、タイトルは『統計学がわかる 【回帰分析・因子分析編】 (ファーストブック)』

Rコード # アイスクリーム統計学 ch04 # # 単回帰分析 # # 去年の夏のデータ 土日を除いた平日 データ番号 <- c(1:20) 最高気温 <- c(33, 33, 34, 34, 35, 35, 34, 32, 28, 35, 33, 28, 32, 25, 28, 30, 29, 32, 34, 35) 客数 <- c(382, 324, 338, 317, 341,…

アイスクリーム統計学 第3章 無相関検定をR(R言語)で (書籍なら、タイトルは『統計学がわかる 【回帰分析・因子分析編】 (ファーストブック)』

Rコード # アイスクリーム統計学 ch03 # # 無相関検定 # # 標本のデータ 標本_vac <- c(1:20) 年齢_vec <- c(18, 20, 22, 19, 21, 23, 17, 13, 22, 24, 21, 15, 19, 17, 20, 16, 21, 26, 18, 19) 一ヶ月あたりの来店数_vec <- c(8, 8, 7, 6, 6, 5, 7, 3, 6, …

アイスクリーム統計学 第2章 相関係数をR(R言語)で (書籍なら、タイトルは『統計学がわかる 【回帰分析・因子分析編】 (ファーストブック)』

Rコード # アイスクリーム統計学 ch02 # # 手計算は省略 # # この店のデータ 日付_vec1 <- c(1:10) 最高気温_vec1 <- c(29, 29, 30, 32, 33, 32, 31, 26, 28, 31) 客数_vec1 <- c(326, 364, 283, 369, 417, 436, 438, 296, 263, 389) この店のデータ <- data…

アイスクリーム統計学 第1章 散布図と相関をR(R言語)で (書籍なら、タイトルは『統計学がわかる 【回帰分析・因子分析編】 (ファーストブック)』

Rコード # アイスクリーム統計学 ch01 # 別のチェーン店の8月の客数データ 日付_vec <- c(1:14) # c()の中に1:14と書いた方が安定する(と思う) 最高気温_vec <- c(29, 30, 29, 32, 33, 32, 34, 27, 28, 32, 34, 32, 30, 28) 客数_vec <- c(312, 348, 284, 36…

スチューデントのt検定の原始的な理解 「平均についての起こりうる誤差」

Rコード # # スチューデントのt検定の原始的な理解 # 「平均についての起こりうる誤差」 # # # ゴセットは、標本サイズの小さいデータセットから # 平均と標準偏差を調べ、前者を後者で割り、 # 結果をグラフ用紙にプロットして確認していたようだ # # R(R言…

対応のあるt検定 対応のある二標本t検定 をR(R言語)で

Rコード # # 対応のあるt検定 対応のある二標本t検定 # # # 使用するデータや数式や解説は、統計クイックリファレンス』 p.168~170 # # # 帰無仮説 # 2組の標本の平均の差は、0である。 # # 対立仮説 # 2組の標本の平均の差は、0でない。 # # "食事制限とエ…