機械学習や分析時のカテゴリ変数の高度なあれこれ

データの前処理において重要となるカテゴリ変数の扱い。高度なTipsを紹介する。 水準数を減らす 機械学習タスクの場合、水準数を削減することも重要。特にダミーコーディング(One-Hot Coding)では水準数がほぼカラム数になり、計算負荷の原因になるケースがある。 たとえば出現頻度がレアな水準はまとめて「その他」にするなどの方法があるが、目的変数に対する影響の大きい重要な水準は削除してはならない。精度を落とさぬよう、効率的に水準数を減らすことが重要になる。 水準の選び方としては、目的変数に対する情報量に着目するといい。関心対象のカテゴリ変数だけをダミーコーディングで説明変数にしたツリー系のモ…

続きを読む →

Googleアナリティクス4のBigQueryエクスポート仕様

GA4のBigQueryエクスポートの仕様とデータの扱い方を説明する。GA4のログはネストされたレコードなど特殊な形式になっており、そのままでは扱いにくいのでいくつかテクニックがある。 BigQueryへのエクスポート設定 GA4の管理画面で設定するが、手順はこちらの記事を参照。 テーブルの場所 プロジェクト:GA4のBigQueryエクスポート設定で指定したプロジェクト データセット「analytics_999999999」(「999999999」の部分はプロパティID) テーブル名 前日までのデータ(日付別に)「events_20210101」 「20210101」の部分は日付 GA4のB…

続きを読む →

JavaScriptの計測タグと最近のウェブページレンダリング(SPA、SSRなど)

最近増えているSPA、SSR、SSGとは何か 最近ではSPA(シングルページアプリケーション)、SSR(サーバサイドレンダリング)などといったウェブページの表示の仕組みを採用するサイトが増えている。これらのページではウェブ解析ツールの計測タグや広告のリマーケティングタグなどが正しく動作しないことがある。SPAの仲間にはSSR、SSGがあるが、これらの共通点はSPA内でのページの遷移時にページの読み込み処理(ロード)が行われない点である。 これらのページではページを最初に表示するときにだけ読み込み処理が行われる。そこでページのアセット(画像やJavaScriptのファイル)がまとめて読み込まれる…

続きを読む →

ポストサードパーティcookie時代のソリューションとプライバシー

Googleは現時点では廃止自体を諦めたものの、個人のプライバシー尊重の観点からサードパーティcookieを廃止する動きを進めていた。AppleのiOSやSafariではすでにITPによってサードパーティcookieはデフォルトで使えなくなっている。 そんな中サードパーティcookieに代替する技術としてさまざまな技術をGoogle自身も開発し、他のベンダもそういった技術を開発してきた。その結果さまざまな自称「ポストcookie」「cookieレス」ソリューションが出てきているのだが、それらはどれも完全にサードパーティcookieを代替するわけではなく、これまでサードパーティcookieが担っ…

続きを読む →

GA4無料版と有料版のBigQueryエクスポートの違い

2種類のBigQueryエクスポート GA4のBigQueryエクスポートデータには以下の2種類がある。 イベントデータ ユーザーデータ ユーザーデータは1行1人で、user_pseudo_id単位で集約したデータと、user_id単位で集約したデータのそれぞれのテーブルが生成される。 所属するオーディエンスの情報やユーザ(user_pseudo_id / user_id)単位の通算指標が含まれる。 分析によく使うのがイベントデータで、1行1イベントでイベントパラメータなどがネストされて含まれている。 エクスポートの頻度 イベントデータの出力頻度は以下の3種類がある。 ストリーミング=リアルタ…

続きを読む →

GA4探索レポートのディメンションと指標名の英日対訳表

GA4の探索レポートにおけるディメンションと指標名の英語(オリジナル)と日本語の画面で表示される訳語の比較表。中には怪しい訳があるので、オリジナルの単語の意味に照らし合わせて扱ったほうがいいものもある。 ディメンション Dimension name ディメンション名 スコープ Attribution アトリビューション Campaign キャンペーン イベント Campaign ID キャンペーン ID イベント Default channel grouping デフォルト チャネル グループ イベント Google Ads account name Google 広告のアカウント名 イベント…

続きを読む →

機械学習用のLinuxインスタンスの環境構築(GCEやEC2などクラウド)

最近では機械学習の計算のためにLinuxマシンを構築しては消し、を繰り返すことが多い。サーバの構築と消去が柔軟に可能なことからもEC2やGCEなどクラウドのインスタンスをよく使うということも影響している。 この記事では一般的なサーバ構築の記事では紹介されていない、クラウドのインスタンスで意外と盲点になる点を中心に、機械学習の計算用サーバとして安定した運用をするために最低限必要な設定をまとめた。 Linuxで最初にやっておくべき設定 Amazon EC2やGoogle Compute Engingなどのクラウドインスタンスのデフォルトの設定では不都合があるため、設定を追加する必要がある。 スワッ…

続きを読む →

GA4/Firebaseのログをフラット化する汎用クエリ

GA4(Firebase)のログを扱う際、ネストされているイベントパラメータやユーザープロパティをフラット化しないと使いにくい。ところが格納されているパラメータやプロパティは決まっているわけではないため、通常はそれをハードコーディングで指定することが多い。つまり使用しているパラメータやプロパティに応じてその都度クエリを手動作成することになる。 しかしそれでは面倒なので、どんなイベントパラメータやユーザープロパティを使っていても、それがどんな型であっても、オールマイティにフラット化するクエリを作る。存在するパラメータやプロパティに基づいて動的にクエリを作って実行する。このクエリひとつあればどんな…

続きを読む →

GCPのIAMポリシー

GCPのIAMポリシー(権限設定) GCPにおける階層と言葉の定義 組織 (フォルダ) プロジェクト 各種リソース Cloud Storage BigQuery Compute Engine : プロジェクトとリソースを中心に考える。 フォルダや組織はプロジェクトを便宜的に束ねるもの。フォルダや組織は設定しなくてもいい →後述するが、組織/プロジェクト/リソース単位で権限設定ができる アカウント アカウントには2種類 ユーザーアカウント Googleのログイン画面からログインできるアカウント 人間ユーザ。異動や退職とともにアカウントがなくなるケースも想定する必要がある 一部のGoogleアカウ…

続きを読む →

Rにおける代表的な一般化線形モデル(GLM)の実装ライブラリまとめ

一般化線形モデル(GLM)は統計解析のフレームワークとしてとにかく便利。Rでもビルトインの関数から拡張までさまざまなライブラリから提供されている機能だが、さまざまなライブラリがありすぎてどれを使えばいいのかわかりにくいのと、さらに一般化線形モデル(GLM)自体にもいろいろな亜種があるため、どの手法をどのライブラリの関数で実装すればいいかわからなくなる。 そこでRに実装されている代表的なGLM系の関数と特徴についてまとめてみた。 一般化線形モデルのおさらい 一般化線形モデルとは $$ y = g^{-1}(\alpha + \beta_1 x_1 + \beta_2 x_2 + … …

続きを読む →

FacebookTwitterLineHatena共有