統計検定準1級に合格したので合格するまでにやったことを書く

2019年6月16日に実施された統計検定の準1級に合格したので、合格までにやったことを書いておく。 試験の結果 統計検定はただの合格の他に評価S(極めて優秀な成績)と評価A(特に優秀な成績)がある。 今回は合格したものの、評価Aには及んでおらず、自己採…

ABC 125反省会

AtCoder Beginner Contest 125 - AtCoder 問題自体はそれほど難しくなかったが、問題が正しく読めて無くてCとDでWAを何度か出してしまった。読解力を鍛えたい。 A. Biscuit Generator 「0.5秒」のところで若干不安になったけどとりあえずこれで正解だった。 …

Tenka1 Programmer Beginner Contest 2019反省会

Cまで届かなかった。前日飲みすぎてダルかったので今後は酒を控えたい所存。 A. On the Way Pythonでやった。 A, B, C = [int(i) for i in input().split()] min_n = min(A, B) max_n = max(A, B) if min_n < C and max_n > C: print("Yes") else: print("No…

ABC 124反省会

初4完。でも今回正解者多かったし少し簡単だったかも…? AtCoder Beginner Contest 124 - AtCoder A. Buttons A==Bの場合だけ気をつける。 #include <bits/stdc++.h> using namespace std; int main(){ int A, B; cin >> A >> B; int m = max(A, B); cout << (A == B ? m + </bits/stdc++.h>…

ABC 123反省会

AtCoder Beginner Contest 123 - AtCoder 今回はAとBはスッと解けたもののCでハマってしまった。 A. Five Antennas 条件よく読んでなくて総当たりしてしまった。 a = [int(input()) for _ in range(5)] k = int(input()) flag = True for i in range(5): for…

Project Euler 27 - 二次式素数

久しぶりにProject Euler。 Problem 27 Quadratic primes 問題の概要 オイラーは次のような驚くべき関数を発見した。 この関数のnに、0から順に整数を入れて行くと、素数が順番に生成されていく。ただし、のとき、結果は41で割り切れてしまう。つまりこの関…

エクサウィザーズ 2019反省会

エクサウィザーズ 2019 - AtCoder。AとBは解けたけどCでダメだった。 A: Regular Triangle 最初Pythonでandを&&と書いてしまってRE出してしまった…。少なくとも1回はテストしないとダメ。 Python A, B, C = map(int, input().split()) if A == B and B == C:…

ABC 122 反省会

今回出遅れもあってBまでしか解けなかった。今回からC++でやっていきたいという気持ちがある。 A: Double Helix 最初の回答。 #include <bits/stdc++.h> using namespace std; int main() { char b; cin >> b; char p; if (b == 'A') { p = 'T'; } else if (b == 'T') { p =</bits/stdc++.h>…

RでFizzBuzz

R

PythonでFizzBuzz PythonのFizzBuzzワンライナーってどんなだったかなと思ってちょっと調べた。 for i in range(100):print(i%3//2*"Fizz"+i%5//4*"Buzz"or-~i) 最後の-~って何だと思ったら~はビット反転だった。2の補数、はるか昔に基本情報でやった記憶が…

AtCoder ABC 121の反省

AtCoder Beginner Contest 121 - AtCoderやったのでまたメモっておく。 A - White Cells 特に悩むことはない。白色のマス目を長方形に並べてカウントすれば良い。 # coding: utf-8 H, W = [int(i) for i in input().split()] h, w = [int(i) for i in input(…

AtCoder ABC 120の反省

AtCoder Beginner Contest 120 - AtCoder やったので回答とメモを残しておく。 A - Faborite Sound 特に注意すべき点はない。 # coding: utf-8 a, b, c = [int(i) for i in input().split()] print(min(b // a, c)) B - K-th Common Divisor $B$の範囲がそれ…

統計検定2級の過去問

間違ったやつと自信をもって解けなかったやつ。 2016年11月 問8[1] 問題(要約) 互いに無相関な標準化された確率変数, , およびそれらの平均を考える。 との相関係数を求めよ。 回答 相関係数は次の式で求められる。 ここで未知なのは共分散]と]なので、こ…

odbcパッケージ経由だとvarcharが255文字に切り詰められる問題

R SQL

ハマるの2回目なのでメモっておく。 PostgreSQLで“test”という名前のデータベースが存在していて、そこに接続している状態を想定する。 con <- odbc::dbConnect(odbc::odbc(), "test") PostgreSQLのcharacter varying(varchar)は、長さ指定なしで使うと文…

「マンガでわかる統計学[因子分析編]」の主成分分析をRでやる

やったのでメモっておく。 「第4章 主成分分析」より。 主成分と主成分得点を求める Step0. データ入力 library(tibble) ramen <- tribble( ~店舗, ~麺, ~具, ~スープ, "二郎", 2, 4, 5, "夢田屋", 1, 5, 1, "地回", 5, 3, 4, "なのはな", 2, 2, 3, "花ぶし"…

農薬の名前はポアソン分布に従っている

R

気がするのでちょっと見て欲しい。 まず、rvestを使ってFAMICから農薬登録情報のcsvをダウンロードして保存する。URLがちょいちょい変わるのでxpathとかで抽出したほうが良い。 library(rvest) library(dplyr) url <- "http://www.acis.famic.go.jp/ddata/in…

歯を抜いたので状況を記録しておく

親知らずを抜いた。3週間ぶり2本目。次はないので、経過を記録しておきたい。随時追記していく所存。 抜歯にいたる経緯 昨年11月頃、歯が痛くなってしまったので歯医者に行った。昔詰め物をしたところがあったのだが、詰め物が取れてしまい、そのままほっと…

Rule of Three

調べ物をしていて、このような法則があることをふと思い出した。 病害虫の発生率が%以下であるということを95%の信頼度で言うためには、3/個の対象を調べて病害虫が存在しないことを示せば良い。 この法則はRule of Threeあるいは3の法則と呼ばれている*1。 …

連続した空行(空白文字を含む)を置換する正規表現

連続する空行の置換 O'Reilly Japan - 詳説 正規表現 第3版に、連続した空行(これは、任意の空白文字を含む場合がある)を<p>に置換する正規表現として、 $text =~ s/^\s*$/<p>/mg; というものが掲載されている(p.67)。これは、空白文字を含む連続した空行を含む文</p></p>…

Project Euler Problem 26 - 最も長い順環節を持つ循環小数

Problem 26 - Project Euler d < 1000について、1/dの順環節が最長となるdを求めよ。 以下解答

Project Euler Problem 25 - 1000桁のフィボナッチ数

Problem 25 - Project Euler フィボナッチ数が1000桁に達するのは何項目か。 以下解答。

Project Euler Problem 24 - 順列の辞書順ソート

Problem 24 - Project Euler 順列とは要素の並び替えのことである。たとえば3124は数字1, 2, 3, 4の並び替えで得られる順列の一つだ。全ての順列をアルファベット順またはABC順に並び替えたとして、それを辞書順と呼ぶことにする。0, 1, 2の順列を辞書順に並…

Project Euler Problem 23 - 2つの過剰数の和ではない自然数の和

自分自身を除く約数の和が自分自身に等しい自然数は完全数と呼ばれる(e.g. 6 = 1 + 2 + 3)が、そうでないものについて、不足数、過剰数という概念がある。 不足数: 自分自身を除く約数の和が自分自身より小さい自然数 過剰数: 自分自身を除く約数の和が自分…

Pythonによるハンバーガー統計学 #2

引き続きハンバーガー統計学にようこそ!の第2章。 準備 import numpy as np import pandas as pd import scipy as sp 2.1 平均的ポテトを推定する wakupote = pd.Series([47, 51, 49, 50, 49, 46, 51, 48, 52, 49]) wakupote.describe() 2.3 信頼区間/区間…

Pythonによるハンバーガー統計学 #1

ハンバーガー統計学にようこそ!の第1章をPythonでやってみたもの。 準備 # -*- coding:utf-8 -*- import pandas as pd import numpy as np import matplotlib.pyplot as plt 1.1 ポテトの長さの平均は # ワクワクバーガー waku = pd.Series( [3.5, 4.2, 4.9…

Rによるハンバーガー統計学 #3

(引き続きハンバーガー統計学にようこそ!の第3章をRでやってみたものです。) 3.1 チキンの売上は少ないのか このようなタイプのデータを「とりあえずプロットする」方法として、モザイクプロットというものがある。 sales <- matrix(c(435, 265, 165, 135),…

Rによるハンバーガー統計学 #2

(引き続きハンバーガー統計学にようこそ!の第2章をRでやってみたものです。) 2.1 平均的ポテトを推定する 前回も説明したとおり、標準のvar()、sd()でそれぞれ不偏分散、標本標準偏差が計算される。 wakupote <- c(47, 51, 49, 50, 49, 46, 51, 48, 52, 49)…

Rによるハンバーガー統計学 #1

(ハンバーガー統計学にようこそ!をRでやってみたものです。) 1.1 ポテトの長さの平均は # ワクワクバーガーのポテトの長さデータ waku <- c(3.5, 4.2, 4.9, 4.6, 2.8, 5.6, 4.2, 4.9, 4.4, 3.7, 3.8, 4.0, 5.2, 3.9, 5.6, 5.3, 5.0, 4.7, 4.0, 3.1, 5.8, 3.…

なんでn-1なんですか

不偏分散はなぜnではなくn-1で割るのか、という問題。 以前似たようなことやったけどきちんと証明していなかったのと今ならどう書くか試してみたかったので。 証明をする 確率変数の実現値を、平均をとする。 まず、の期待値を求めよう。 任意の数を足して引…

ユーザーの平均継続期間が解約率の逆数であることを等比数列を使わずに理解する

ユーザーの平均継続期間は「解約率=一定」と仮定すれば「1/解約率」で示せる。これについてはユーザの平均継続期間が「1/解約率」で求められることの数学的証明 - it's an endless world.に等比数列を用いたわかりやすい証明があるが、「解約率=一定」とした…

Project Euler Problem 22

問 Problem 22 - PukiWiki 名前のリストが入ったテキストファイルを読み込み、ソートする。 アルファベットを1から26までの整数に対応付けてその和を計算し、さらに名前の順位を乗ずることで「名前のスコア」を算出する。 例えばCOLINなら3 + 15 + 12 + 9 + …