Skip to content

Instantly share code, notes, and snippets.

@abikoushi
abikoushi / entropy.md
Last active August 18, 2025 09:02
確率の対数を取る(あるいは情報エントロピー入門)

推敲して数値例も足したので以降はこっちを見てください→ 確率の対数を取る(あるいは情報エントロピー入門)

エントロピー

確率の話でよく一番基本的な例として出てくる「公平なコイン投げ」を考える.表が出る確率は $1/2$ である. $k$ 回のコイン投げで $k$ 回表が出る確率は $2^{-k}$ だ.

コイン投げの例がわかりやすいとしたら,逆に確率 $p$ をコイン投げでいうと何回表が出る程度の珍しさかで比べるという発想もありうる.

2 を $-k$ 乗したら $p$ になるような数 $k$$2^{-k} = p$ となる $k$ )は,対数の定義から次のように表せる.

@abikoushi
abikoushi / phi_and_chisq.md
Created August 12, 2025 04:11
分割表の独立性の検定と相関係数

このノートについて

分割表の独立性の検定について,「独立性というからには相関係数の話と関係あるのかな?」と思った人向けの文章です. 分割表の独立性の話と相関係数の話は関係があります.

地道手計算パート

このパートの式の部分は計算メモのようなものも含むので,もしかしたら冗長な書き方が多いかもしれない.そのように感じたら結論まで読み飛ばしてほしい.

@abikoushi
abikoushi / shimarisu_ch4_strata.R
Last active July 21, 2025 01:37
層別解析:佐藤俊哉『宇宙怪人しまりす 統計よりも重要なことを学ぶ』(朝倉書店)第4話より
library(DiagrammeR)
library(DiagrammeRsvg)
library(rsvg)
library(dplyr)
library(gt)
## 佐藤俊哉『宇宙怪人しまりす 統計よりも重要なことを学ぶ』(朝倉書店)より
g <- grViz("digraph{
graph[rankdir = TB]
node[shape = rectangle]
@abikoushi
abikoushi / causaldia.R
Created July 18, 2025 10:24
因果ダイアグラム:DiagrammeR使ってみた
library(DiagrammeR)
library(DiagrammeRsvg)
library(magrittr)
library(rsvg)
##佐藤俊哉『宇宙怪人しまりす 統計よりも重要なことを学ぶ』(朝倉書店)より
g <- grViz("digraph{
graph[rankdir = TB]
node[shape = rectangle]
A[label = 'かぜの\n重症度']
@abikoushi
abikoushi / kumagaya.R
Last active July 11, 2025 00:17
熊谷の最高気温をプロット
library(readr)
library(dplyr)
library(ggplot2)
## data is available from
## https://www.data.jma.go.jp/risk/obsdl/index.php
dat = read_csv("./Downloads/data.csv", skip = 6,
col_names = c("date","Temp","hinshitsu","kinitsu"))
@abikoushi
abikoushi / prop_and_chisq.md
Last active July 9, 2025 03:15
母比率の差の検定と分割表の独立性の検定が同じになることについて

母比率の差の検定と分割表の独立性の検定が同じになること

次のように分割表が与えられたとき,

成功 失敗 合計
a c $n_1$
b d $n_2$
$m_1$ $m_2$ n
@abikoushi
abikoushi / shimarisu_pfun.R
Created July 8, 2025 10:42
『宇宙怪人しまりす 統計よりも重要なことを学ぶ』ヨクナール使用とかぜ症状の回復
#佐藤俊哉『宇宙怪人しまりす 統計よりも重要なことを学ぶ』(朝倉書店)より
X = matrix(c(58, 22,
62, 38), byrow = TRUE, nrow = 2, ncol = 2)
print(X)
res_chisq = chisq.test(X, correct = FALSE)
print(res_chisq$p.value)
#[1] 0.1375639
x = X[,1]
@abikoushi
abikoushi / TimerLogger.h
Last active June 27, 2025 05:23
Block-wise computational time evaluation for Rcpp
#include <chrono>
#include <iostream>
#include <fstream>
#include <mutex>
class TimerLogger {
public:
TimerLogger(const std::string& label, const std::string& filename = "timelog.csv")
: label_(label), filename_(filename) {
start_ = std::chrono::high_resolution_clock::now();
@abikoushi
abikoushi / PCA.stan
Created June 17, 2025 11:38
Probabilistic principan component analysis using Stan
data {
int<lower=0> N;
int<lower=0> D;
int<lower=0> R;
matrix[N,D] Y;
}
parameters {
row_vector[D] mu;
matrix[D,R] W;
real<lower=0> sig2;
@abikoushi
abikoushi / gumbel.jl
Created June 1, 2025 13:14
practice CairoMakie.jl
using Distributions
using CairoMakie
#https://docs.makie.org/stable/
xv = 0:0.1:20
f = Figure()
ax = Axis(f[1, 1])
l1 = lines!(ax, xv, pdf.(Gumbel(0,1), xv))
l2 = lines!(ax, xv, pdf.(Gumbel(1,1), xv), linestyle=:dash)
l3 = lines!(ax, xv, pdf.(Gumbel(0,2), xv), linestyle=:dot)