問題タブ [dummy-data]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
r - Rでダミーのウェブショップデータを生成する: トランザクションをランダムに生成する際のパラメータを組み込む
私が現在受講しているコースでは、ダミーのトランザクション、顧客、製品のデータセットを構築して、ウェブショップ環境と財務ダッシュボードでの機械学習のユースケースを紹介しようとしています。残念ながら、ダミーデータは提供されていません。これは R の知識を向上させる良い方法だと思いましたが、それを実現するのに深刻な問題が発生しています。
アイデアは、いくつかのパラメーター/ルールを指定することです (任意/架空ですが、特定のクラスタリング アルゴリズムのデモンストレーションに適用できます)。私は基本的にパターンを非表示にして、機械学習を利用してこのパターンを再検索しようとしています(この質問の一部ではありません)。私が隠しているパターンは、製品導入のライフ サイクルに基づいており、ターゲットを絞ったマーケティングの目的で、さまざまな顧客タイプを特定する方法を示すことを試みています。
私が探しているものを示します。なるべくリアルに描きたいです。顧客ごとのトランザクション数やその他の特性を正規分布に割り当てることで、そうしようとしました。私はこれを行うための潜在的な他の方法を完全に受け入れていますか?
以下は私がどこまで来たかです。最初に顧客のテーブルを作成します。
次に、選択する製品のテーブルを生成します。
ここで、現在関連している各変数の次のパラメーターに基づいて、n 個のトランザクションを生成したいと思います (番号は上記の顧客テーブルにあります)。
「EarlyAdopters」は、ラベル「BySearchEngine」、60%「ByDirectCustomer」、および 30%「ByPartnerBlog」を持つトランザクションの 10% (平均、正規分布) を持つという考えです。これらの値は互いに除外する必要があります。最終的なデータセットでは、PartnerBlog と検索エンジンの両方を介して 1 つを取得することはできません。オプションは次のとおりです。
さらに、上記の手段を利用して正規分布する割引変数を生成したいと考えています。簡単にするために、標準偏差は平均/5 とすることができます。
次に、最もトリッキーな部分ですが、いくつかのルールに従ってこれらのトランザクションを生成したいと思います。
- 数日にわたってある程度均等に分布し、週末にはわずかに増加する可能性があります。
- 2006 年から 2014 年の間に広がった。
- 長年にわたる顧客のトランザクション数の分散;
- 発売前の商品はご購入いただけません。
その他のパラメータ:
CustomerID 2 の結果は次のようになります。
R コードを書くことにますます自信を持っていますが、グローバル パラメーター (毎日のトランザクションの分布、顧客ごとの年間最大 # トランザクション) とさまざまなリンケージを維持するためのコードを書くのに苦労しています。
- 適時性: リリース後の購入の速さ
- ReferredBy: この顧客がどのようにして私の Web サイトにたどり着いたか?
- 顧客がどれだけの割引を受けているか (顧客が割引にどれほど敏感かを示すため)
これにより、顧客テーブルに for ループを記述して顧客ごとにトランザクションを生成する必要があるのか、それとも別のルートを取るべきなのかがわかりません。どんな貢献も大歓迎です。R を使用してこの問題を解決したいと考えていますが、代替のダミー データセットも歓迎します。この投稿は、進行に応じて更新されます。
私の現在の擬似コード:
- sample() を使用して顧客を顧客タイプに割り当てます
- Customers$NumBought トランザクションを生成する
- ... まだ考えています?
編集: トランザクション テーブルを生成します。次は、正しいデータを入力する必要があります。
for-loop - Stata で for ループ (foreach) を使用して年ダミー変数を計算する
1996 年から 2012 年までの各年 (包括的) のダミー変数を生成しようとしています。1996 年のダミーは 1996 年の場合は 1 になり、それ以外の場合は 0 になりforeach
、時間を短縮するために Stata のコマンドを使用します (少なくとも将来のプロジェクトでは)。 )。現在起こっていることは、1996 年のダミーが生成されているということですが、それ以外は生成されていません。を定義する方法に関係していると思いますが、j
必要な結果を達成するためのフォーマットを完全に理解できません。オンラインおよび Stata ヘルプ ファイルを調べましたが、この特定のトピックに関する情報は見つかりませんでした。
これが私がこれまでに持っているものです:
私は自分でこれを理解しようとし続けますが、誰かが提案を持っているなら、私は大いに感謝します.
r - Lasso、glmnet、データの前処理
glmnet パッケージを使用して、バイナリ結果 (ロジット) を持つモデルになげなわ (L1 ペナルティ) を当てはめようとしています。私の予測子は、1 つの連続変数を除いて、すべてバイナリです (1/0 は順序付けられておらず、~4000 です)。予測変数をスパース行列に変換する必要があります。そうしないと永遠に、1 日かかるからです。私の質問は、行列を疎行列に変換するだけでなく、sparse.model.matrix を使用しているようです。何故ですか?ここでこれを行う必要がありますか?どちらの方法でも、結果は少し異なります。
また、因子を因子としてコーディングする必要がありますか (結果と予測因子の両方に関して)、またはスパース行列を使用して、結果が二項であることを glmnet モデルで指定するだけで十分ですか?
これが私がこれまでに行っていることです
私の 2 つの質問を要約すると、次のとおりです。[はいの場合、行列を疎行列に変換するのと実際には何が違うのですか] 2-バイナリ変数を因子としてコード化する必要がありますか? 私が尋ねる理由は、私のデータセットが巨大であることです。因子としてコーディングせずにそれを行うだけで、多くの時間を節約できます。
sas - SAS を使用して 2 つの値が同じであることを示すダミー変数を作成する方法
私のデータは次のようになります。
2 つのダミー変数 new と X を作成したいと思います。シナリオは次のとおりです。各 ID-B ペア内 (ペアは 2 つの観測値でB=0
あり、一方B=1
がYEAR
クローゼットで、もう一方がクローゼットで順番に一緒になっています)
- の観測
B=1
値が A の値が 1 の場合new=1
、そのペアの両方の観測値に対して、それ以外の場合は、そのペアの両方の観測値に対して 0 です。 - ペアの A の値が同じ場合、
X=0
値が異なる場合はX=1
.
したがって、出力は次のようになります。
私のコードは
最初のものは機能せず、2 番目のものは変数 B を並べ替えました。ここで立ち往生しています。どんな助けでも大歓迎です。