★データ解析備忘録★

ゆる〜い技術メモ

SASの(よく使う)ショートカットキー一覧

よく使いそうなSASのショートカットキーをまとめました。
製品版でしか試してないのでSAS雲丹でも同じかはわかりません。

他のソフトと同じもの

キー 機能
Ctrl+C コピー
Ctrl+X 切り取り
Ctrl+V ペースト
Ctrl+A 全選択
Ctrl+S 上書き保存
Ctrl+Shift+S 新規ファイル名で保存
Ctrl+F 検索
Ctrl+H 置換
Ctrl+ ファイルの先頭に移動
Ctrl+ ファイルの末尾に移動
Ctrl+N 新規画面の立ち上げ

SAS独自のもの

キー 機能
F9 ショートカット一覧の表示
F3 エディタ画面選択時にサブミット
F3 ログ、アウトプット画面選択時にエディタ画面に移動
F11 設定したタイトル一覧表示
Ctrl+/ 選択箇所を/**/でコメントアウト
Ctrl+[, ] 対応する括弧へ移動
Alt+[, ] 対応するdo-endペアへ移動
Ctrl+Shift+/ 選択箇所のコメントアウト解除
Ctrl+Shift+U 選択箇所を大文字に変換
Ctrl+Shift+L 選択箇所を小文字に変換

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

も可能。