この記事は「データベーススペシャリスト資格に興味はあるが、どのようなものか?どう学ぶのか?」という方向けに、具体的な内容と私自身の挑戦ログをお伝えする。学び中の方や、これから学ぼうとされる方の参考になれば幸いだ。
今回は「正規表現を利用する関数」について書く。なお、SQL(データ分析)はあくまで目的を達成するための手段だ。例えば売り上げ増加を目的に、顧客の購入歴から筋の良い商品をSQLを使って分析するなどだ。このように「目的に沿ってデータを集め、整理、比較、分析、仮説検証する手法」が統計学であり、意味のあるデータ分析に欠かせない要素だ。よって目的を見失わないようにするため、複数回に分けて統計学の基礎をおさらいする。
※注意点として、SQLはDBMSによって作法が異なる。この記事はGoogle Big Queryに準拠するものであることをお含みおき願いたい。
SQL(正規表現を利用する関数)
前回振り返り
- SQLについて。これまで基礎(基本構文・グループ化・複数テーブル・仮想テーブル)を学び、実際に記述できるようになった。そこで応用としてSQL関数を少しづつ学んでいく。
- 前回は「文字列を扱う関数」に関して学んだ。今回は「正規表現を利用する関数」について書く
特定パターンの有無を判定
- 特定パターンの有無を判定するにはregexp_contains関数。引数は「対象文字列,正規表現」
- 語源は「regular expressions(正規表現)」と「contains(含む)」
- 正規表現は「r」から始まる。「|」(パイプ)は「または」を表す。「バックスペースとd」は任意の数字で、そのあとに{4}と入れれば4回、*と入れれば0回以上の複数回を表す。
- 以下はコメントに電話番号が含まれるかの確認をするSQL。「8文字の数字で、さらにその後数字が続いてよい」と「4文字の数字とハイフンと4文字の数字」の2通りを判定条件にしている。
特定パターンの抽出、置換
- 特定パターンの抽出はregexp_extract関数。引数は「対象文字列,正規表現,開始位置,出現回数」
- 特定パターンの置換はregexp_replace関数。引数は「対象文字列,正規表現,置換後文字列」
- 語源は「regular expressions(正規表現)」と「extract(抽出)」および「replace(置換)」
- 以下のSQLは、電話番号を取り出し、ハイフンに置き換えるもの
その他の正規表現
- 正規表現について、文字列の直接指定や、「^」(その文字から始まる)も使える。
- その他、文字列に関する正規表現は「.」(任意の1文字)、「バックスペースs」(半角スペース)、「$」(直前の文字で終わる)などがある。また、「()」(グループ。囲まれた部分に該当する文字列を取得する)も使える。
- 例えば以下のような使い方ができる。正規表現を使えば柔軟な抽出が可能になるので、覚えておくと便利。
統計の基礎④(平均と分散)
相対度数分布グラフ(一部再掲)
- 書籍「意味がわかる統計学」第1章の独自の概念。確率変数を飛ばして、検定・推定のエッセンスを理解できる。「とにかく早く検定・推定で何をしているのか概念だけ知りたい」場合に便利
- 考え方はとてもシンプル。まず横軸に階級(区切り)、縦軸に度数(各々の値)のグラフを作る。これをヒストグラムと言う。
- 次に、度数の総計が1になるよう全体を圧縮する。これが相対度数分布グラフ。
平均と分散
- 平均は「データの合計÷データの数量」で求める。相対度数分布グラフにおいては「ちょうどつり合いが取れるポイント」であり、値は「(階級値×相対度数)の合計」
- 分散は「偏差平方和(平均とデータの差を二乗し、合計して平均を取る)」で求める。相対度数分布グラフにおいては「平均から見たデータのばらつき具合」であり、値は「((階級値-平均)の二乗)×相対度数)の合計」
- 標準偏差は分散の平方根(ルート分散)
- たとえば20人のテスト結果が以下のとき
- 「43,47,52,52,54,61,67,67,68,69,70,71,71,73,76,78,82,84,84,91」
- 相対度数分布グラフ、平均・分散・標準偏差は以下のとおり
- ここで重要なのは、相対度数分布グラフがあれば、平均・分散・標準偏差が求められるということ
考察
- SQLについて。応用としてSQL関数を少しづつ学んでいく。今回は「正規表現を用いる関数(特定パターンの判定、抽出、置換)」について学んだ。
- 考察。書籍「意味がわかる統計学/石井 俊全/ベレ出版」を元に「検定・推定が何をしているか」を学び直している。今回は本書籍独自の概念である「相対度数分布グラフ」から平均・分散・標準偏差を求める方法を学んだ。
考察のシンプル化と英訳(練習中)
- I learn mean, variance and standard deviation in using relative frequency distribution graph.
- (私は平均、分散、標準偏差を学習します。相対度数分布グラフを用いて)
参考書籍
- 集中演習 SQL入門/木田和廣/株式会社インプレス
- 意味がわかる統計学/石井俊全/ベレ出版
コメント