通常、測定値の中で最も正確な測定値を得たいという要望があります。理論的には、それは良いことですが、データ分析の目的のためには、精度が高いほど良いとは限りません。
通常、連続変数を調べ、記録された値に対して妥当な精度を決定するのが最善です。たとえば、変数Xがあり、Xに次の表に示す値があるとします。

データは小数点以下10桁まで記録されます。しかし、このデータを分析している場合、小数点以下の桁数が本当に必要ですか?これを調べる1つの方法は、使用される丸めのレベルの関数として、このデータの平均と標準偏差の推定値のプロットを見ることです。尋ねるべき良い質問は、「要約統計量は精度のレベルにどれほど敏感か?」です。


経験則
表と表から、小数点以下第1位まで丸めても平均の推定にあまり情報が失われないことがわかります。変数に必要な精度に関する優れた経験則は、丸められていないデータの標準偏差を3で割り、丸めのレベルとして有効数字の小数点以下の桁を使用することです。ここに示す例では、丸められていないデータの標準偏差は0.3612であるため、その1/3は0.12です。これは、小数点以下1桁で十分であることを示しています。
モデルを構築するとき、これは重要ですか?
最近、デシジョンツリーモデルに適合するのに必要な時間が長い(何時間もの計算時間)という予測モデリングの問題に遭遇しました。使用されているデータセットがかなり大きい(数百万行)。問題を調査したところ、多くの連続予測変数(X、または因子)が小数点以下の桁数まで記録されていることがわかりました。丸め経験則を使用して、決定木モデルをフィッティングするための計算時間は数分に減少しました。これはなぜ起こったのでしょうか。の再帰分割アルゴリズム決定木を構築する方法は、各連続予測子の一意のレベルを使用し、最適な分割を見つけるために、各一意のレベルに基づいてバイナリ分割を構築します。モデル内の因子が非常に正確な場合、これは大量の計算オーバーヘッドを追加しますが、モデルの正確性を向上させる上でほとんどメリットがありません。因子を丸めることにより、固有レベルの数が減り、モデルフィッティングアルゴリズムの実行速度が大幅に向上しました。
ビニングデータ
実際には、連続変数のレベルのそれほど正確ではない指標も有用であり、より良いモデルにつながる可能性があることも知られています。予測変数の精度を下げるための1つのアプローチは、ビニング 。ビニングは単純に各連続変数をカテゴリカルレベルに割り当てます。丸めはビニングの一例です。ビニングのもう1つの例は、データのヒストグラムを作成し、そのヒストグラム内のビンを予測子として使用することです。A 前回のブログ投稿では、対話型ビニングツールについて説明していました。この種のビニングを手動で実行するために使用できます。A ビニングの3番目の例は、教師付きアプローチの使用です。ここで、予測子内のビンは、ビン化変数の予測能力を最大化するように選択されます。
私が直面していたデータ分析問題では、非常に正確なデータが長い計算時間につながり、あるレベルのビニングを適用する必要がある100個の予測変数がありました。対話型ビニング手法は時間がかかり過ぎることになり、教師付きビニング手法自体は計算量が多くなるため、かなり時間がかかりました。私は、予測変数内のグループ化またはクラスターを一度に1変数ずつ検索する、教師なしビニングアプローチを採用することにしました。
正規混合分布を使用したビンデータ
下のヒストグラムに表示されている少し「塊状」の変数を考えてみましょう。3つの正規分布を使用した正規混合分布がデータにフィットします(ホットスポット>連続フィット>正規混合>正規3混合)。混合分布からのパラメータ推定値が記録され、混合内のどの分布に最も高い関連確率があるかに基づいて行をグループに割り当てるビニング式が作成されます。


ビン変数はデータ内の順序付けを保持する整数なので、連続変数、序数変数、または名義変数として使用できます。

アニメ版を見るためにイメージをクリックしなさい
教師なしビニングに正規混合分布を使用するプロセスを自動化するために、JMPアドインを作成しました( ダウンロード可能 JMPファイル交換で - 無料のSASプロファイルが必要です。
モデリングのためのデータ準備の一環として、予測子変数のデータ精度を考慮に入れて、分析を行うときに精度が低いほうが有用かどうかを確認します。 この記事で共有されたアイデアが、より良いモデルを構築するために取り組むときに役立つことを願っています。
サムガードナー書きました:
スクリプトへのリンクはアクティブではなくなりました。binningスクリプトへの新しいリンクはにあります。 https://community.jmp.com/docs/DOC-7584
サムガードナー書きました:
ビニングの有用性について言及している1つの参考文献は、Berry&Linhoff著、Data Mining Techniques、2nd Ed、p 237およびp 351である。特に、彼らは、「おそらく予期せぬことに、ビニング値はデータマイニングアルゴリズムの性能を向上させることができる」と述べている。
クリス・ドーガー書きました:
サム、
面白い経験則と覚えやすいです。あなたはその出所のための参照を持っていますか?なぜそれが機能するのですか?