★データ解析備忘録★

ゆる〜い技術メモ

Treasure Dataの日付範囲指定はイコールを含むのか

Treasure Dataでクエリを書くとき、where句で日付指定をする場合が多いわけですが、範囲はイコールを含むのでしょうか?
以前書いた記事でちょろっと触れてそこに答えもあるのですが、イコールの有無に焦点を当てたものも欲しかったのでメモ。
< 時間 < なのか <= 時間 <= なのかは意外と重要です。
y-mattu.hatenablog.com
それと、公式のUDFマニュアルにも書いてあります。
docs.treasuredata.com


結論

そもそもTreasure Dataでは日付指定はTD_TIMR_RANGE関数を使うわけですが、結論としては以下の二つは同値です。

TD_TIME_RANGE(time,'2016-03-20 00:00:00', '2016-03-21 00:00:00', 'JST')
TD_TIME_RANGE(time,'2016-03-20', '2016-03-21', 'JST')

つまり
2016-03-20 00:00:00 >= time and time < 2016-03-21 00:00:00
となります。
TD_TIME_RANGE関数は、前半はイコールを含むけど後半はイコールを含まないみたいです。

また、ありがちな間違いとして例えば

TD_TIME_RANGE(time,'2016-03-20 00:00:00', '2016-03-20 23:59:59', 'JST')

としてしまうことがあります。実際僕もしばらくこれで書いていた時期がありました。
しかし、この書き方は2016-03-20 00:00:00 >= time and time < 2016-03-20 23:59:59を意味しているので23:59:59の値は取ることができません。
気を付けましょう。

ちなみに

たぶんTreasure Dataユーザーなら知ってると思いますが、Hive とPresto では文字列の囲み方が""''と違います。

統計の誤解と濫用や「p値至上主義」を憂慮しp値の6原則を発表したASAの声明に対する統計学徒の素人意見

アメリカ統計学会がp値に関して以下のような声明を3月7日(現地時間)に発表したということで注目を集めているようです。

AMERICAN STATISTICAL ASSOCIATION RELEASES STATEMENT ON
STATISTICAL SIGNIFICANCE AND P-VALUES
https://www.amstat.org/newsroom/pressreleases/P-ValueStatement.pdf

また、すでにこの声明に対し複数の方がブログで紹介をしています。
tjo.hatenablog.com
d.hatena.ne.jp

どちらも非常に大事なことが書かれているので、どちらも読むことをお勧めします。
まあこれらの記事は読んでいただくとして、僕は僕なりに思うことがあるのでそれを書こうと思います。

声明のp値に関する6項目を一応自分でも訳してみます。

1. P-values can indicate how incompatible the data are with a specified statistical model.
2. P-values do not measure the probability that the studied hypothesis is true, or the
probability that the data were produced by random chance alone.
3. Scientific conclusions and business or policy decisions should not be based only on
whether a p-value passes a specific threshold.
4. Proper inference requires full reporting and transparency.
5. A p-value, or statistical significance, does not measure the size of an effect or the
importance of a result.
6. By itself, a p-value does not provide a good measure of evidence regarding a model or
hypothesis.

(私訳)
1. p値は「そのデータがある特定の統計モデルに対してどのくらい適さないか」を示し得る。
2. p値は「検証される仮説が真である確率」を示さないし、「ランダムな偶然のみからそのデータが得られた確率」も示さない。
3. 科学的な結論とビジネス・政策的な決定は「p値がある特定の閾値を切ったか」のみに基づくべきではない。
4. 適切な推論には完全なレポーティングと透明性を必要とする。
5. あるp値、あるいはある統計的な有意性は、結果の重要性や効果の量を示さない。
6. p値はそれ自体ではモデルや仮説に関するエビデンスの良い尺度にはならない。

続きを読む

Matlabで変数の削除

新しい言語、特に対話型のをやると必ず気になるのが変数の除去について。

Matlabの場合、は以下のようにやります。

変数をすべて除去

clearvars

特定の変数を削除
変数名をvariablesで指定

clearvars variables

特定の変数を残してあとは削除
keepVariablesで残す変数を指定

clearvars -except keepVariables

今の2つを組み合わせて

clearvars variables -except keepVariables

も可能。

多項分布とディリクレ分布のまとめと可視化

多項分布とその共役事前分布について、可視化をしながら整理してみたいと思います。
どちらかというと、可視化をしてパラメーターで分布の形がどう変わるのかを見ることがメインです。

多項分布とは

二項分布の一般化と考えればよいです。
「コインを投げた時の表裏の分布」が二項分布なら、多項分布は「さいころを投げて出る目の分布」になりますね。

確率密度関数
{ \displaystyle
Multi(\boldsymbol{x} | n,p) = \frac{n!}{n_1! \cdots n_k!}p_1^{n_1} \cdots p_k^{n_k}
}
で表され、 p_1 + \cdots + p_k = 1になります。。
さっきの言い方を上の式っぽく一般化すると、多項分布とは
確率  P_iで事象 A_iが起こる (i=1,\cdots,k_i=1,\cdots,k)ような試行を n回行ったとき「どの事象が何回起こったか」を表す分布です。また、k=2のとき二項分布になります

その他、平均(期待値)は
 E[N_i] = np_i
分散は
 V[N_i] = np_i(1-p_i)
となります。

続きを読む