よく読んでください! JMPでこれらの機能を学ぶのは興味深い
今年の初めに、私のマネージャーが私を送ってくれました非常に興味深い投稿Data Coladaから、公開された研究を調査する3人の行動科学者によって書かれたブログ投稿。 Data Coladaの作成者は、匿名の研究者のチームと協力して、2012年の論文で使用された車の走行距離データセットにいくつかの奇妙な異常を発見しました。 私はテストする責任がありますパターンを調べるのプラットフォームJMP 、データの異常または予期しないパターンを識別するために使用できます。 この投稿では、Explore Patternsと、JMPの他の便利なツールを使用して、車の走行距離データで予期しないパターンや異常なパターンを検索します。
バックグラウンド
車の走行距離データセットの最初の数行と列を以下に示します。 これらのデータは、特定の自動車保険代理店の13,488人の顧客が現在の走行距離計の測定値を報告するように求められた調査から収集されました。 各顧客が最大4台の車の情報を報告したため、顧客から報告された読み取り値は、update_car1からupdate_car4列としてデータに含まれています。 データには、保険証券が最初に発行されたときの各車両の走行距離計の読み取り値も含まれています。 これらの列の名前はbaseline_car1からbaseline_car4です。 すべてのポリシーが同時に発行されたわけではないため、ベースラインから更新までの経過時間は、この調査の観察結果によって異なります。
データコラーダの投稿で、研究者はこのデータセットで見つかった4つの異常を提示しました。 JMPを使用して、これらの各調査結果を掘り下げてみましょう。
異常#1:走行距離の分布は均一です
Data Coladaの著者は、走行距離の分布が0〜50,000マイルの範囲の均一な分布と一致していることを発見しました。
データには、各車の走行距離計の読み取り値のベースラインと更新の列が含まれているため、更新された値からベースラインの値を差し引いて走行距離を保存する数式列を作成します。 次に、JMPでは、配布プラットフォームを使用して、ベースラインの分布を表示し、値を更新し、各車の総走行距離を表示します。 各顧客の最初の車の配布レポートを検討してください。
ベースラインマイレージの分布の形状は、更新されたマイレージの分布に似ており、走行距離計の中央値は更新時に約26,000マイル高くなっています。 この発見自体は驚くべきことではありません。 ベースラインと更新の測定値について私が最も興味深いと思うのは、2人の参加者が100万マイル近く走行した車両を所有していたことです。 彼らは非常に優れたメカニズムを持っている必要があります。
レポートの最も憂慮すべき部分は、上記の3番目の分布であり、最初の2つの違いを示しています。 ベースライン時間と更新時間の間で走行したマイルの分布は、0から50,000マイルの間で均一に分布しているように見えます。 50,000マイルを超える値はなく、ヒストグラムの各ビンにはほぼ同じ数の参加者が含まれています。 この場合、目視検査により、データが均一に分散されているという確かな証拠が得られます。 ただし、それほど明白ではないデータの場合、配布プラットフォームのFitBetaオプションを使用して、適合度テストを実行できます。 。
以下のスクリーンショットは、参加者の各車の走行距離(更新–ベースライン)の分布を示しています。 各分布は、2台目、3台目、4台目の車でも0から50,000の間で均一に分布しているように見えます。 この分布パターンに基づいて、更新されたマイレージ値は、ベースラインマイレージ値に均一に分布されたランダム値を追加することによって生成された可能性があると結論付けることができます。
異常#2:ベースラインマイレージは四捨五入を使用し、更新されたマイレージは使用しませんでした
Data Coladaの作成者は、ベースラインマイレージには千の位に四捨五入された多くの値があり、更新されたマイレージにはこの四捨五入が含まれていないことを発見しました。
Data Coladaの研究者は、マイレージの最後の3桁を調べて丸めを調査しました。 JSLを使用して同様のアプローチを取ることもできますが、代わりに、ExplorePatternsを使用しましょう。 これまでに探索パターンを使用したことがない場合は、[分析]> [スクリーニング]を選択して見つけることができます。
探索パターンを起動して各ベースラインを探索し、列を更新すると、次のスクリーンショットに示す出力が得られます。 単変量パターンレポートで、パターンを比較する最初の車のベースラインと更新値を選択します。
デフォルトでは、Explore Patternsには、各列で最も重複している値、各列で最も長い実行、および各列で最も長い重複シーケンスのレポートが含まれています。 参加者が所有する最初の車の場合、最長ランまたは最長重複シーケンスレポートから得られるものはあまりありません。 ただし、Most DuplicatedValuesレポートは興味深い対照を示しています。 最初に所有した車のベースラインマイレージには、10,000に最も近い値に丸められているように見える値が多数あります。 これは必ずしも予期しないパターンであるとは限りません。自分の車の走行距離を聞かれると、答えるときはいつも丸くなります。
更新されたマイレージの最も重複した値のレポートはまったく異なります。 このレポートでは、重複がはるかに少なく、表示される重複はベースライン値のように丸められていません。 これは、ベースライン値に均一に分散されたランダム値を追加することによって更新列が生成された場合に発生します。 したがって、この発見は異常#1と一致しています。
異常#3 –データは2つのフォントで入力され、各観測値にはもう一方のフォントで「双子」があります
研究者たちは、元のデータファイルでは、観測が2つの異なるフォントを使用して記録されていることに気づきました。 いくつかの巧妙な並べ替えを通じて、研究者は、一方のフォントの各ベースライン観測が、もう一方のフォントの非常に類似した行に対応することを発見しました。
さまざまなフォントに気づき、このアプローチを採用した研究者に拍手を送ります。 ただし、データがすべて同じフォントであり、この赤いフラグが立てられなかったとしましょう。 JMPを使用して、行と列の間の奇妙な関係を特定できますか? もちろんできます–これは結局のところJMPブログです。
探索パターンを使用して、連続する行の列間に線形関係があるかどうかを調査できます。 次の簡単な例を考えてみましょう。 最初の4行では、列はY = 2 * Xの正確な線形関係にあります。 次の3行では、2つの列もY = 0.5 * Xの正確な線形関係にあります。
探索パターンを使用して、ベースライン列間のこのような線形関係を検索できます。 異常#1にまだ気付いていない場合は、更新された列で線形関係を探すことも理にかなっています。
正確な線形関係が多数ある場合、または線形関係が大量に実行されている場合は、ある列の値が別の列の倍数を使用して生成されたことを示している可能性があります。 ここでは、ベースライン列が正確な線形関係にある行はごくわずかです。 Colorizeオプションを使用してこれらのセルを表示し、不規則性を検査することもできますが、多くの丸められた値を持つこのサイズのデータセットの場合、いくつかの線形関係を見つけることは驚くべきことではありません。
探索パターンを使用して、ベースライン値の2つの列の行間に疑わしい線形関係があるかどうかを調査しました。 しかし、結果はあまり役に立ちませんでした。 ここで、2つの行の間の列間の線形関係も調べてみましょう。ここでも、ベースライン値を調べます。 これを行うには、データの転置にExplorePatternsを使用する必要があります。
JMPの[転置]オプションを使用して、少なくとも3台の車両の走行距離を報告した参加者について、ベースライン列ごとにデータを転置しました。 参加者が2台以下の車を持っている行は、線形関係を特定するのに役立たないため、除外しました。
この転置されたデータのExplorePatternsレポートには、傾きが約1である正確な線形関係が多数あります。 したがって、元のデータテーブルには、車全体でベースライン値のほぼ2行の行が多数あります。 (ヒント:[勾配]列を右クリックし、[場所の選択]機能を使用して、勾配が1に近いすべての行を強調表示できます。 スロープが0.99から1.01の間である69のペアがあります。
線形関係の表の上にある[色付け]を選択して、すべての値を正確な線形関係で色付けするか、Y列を右クリックして特定の値を色付けすることができます。 次の表には、線形関係レポートの最初の3行の色付きの値が含まれています。
Explore Patternsは、ベースラインマイレージ値がすべての車で非常に類似しており、正確な線形関係にある「ドライビングツイン」のペアをいくつか特定しました。 正確な線形関係を持たないが、それでも非常に密接に関連しているペアをさらに探すことで、これをフォローアップできます。 Data Coladaの投稿に示されているように、4台目の車のベースライン値で並べ替えると、多くの運転中の双子を簡単に識別できます。
異常#4 – 1つのフォントには多くの丸められたベースライン値があり、もう1つのフォントにはありません
研究者は、Calibriフォントのベースライン値が丸められており、Cambriaフォントの値が丸められていないことを発見しました。
ここで、一部の行が1つのフォントで書き込まれ、他の行が2番目のフォントで書き込まれ、各行のフォントを含む列がデータにあることがわかっているとします。 フォント名が[By]列のExplorePatternsを使用する場合があります。
Explore Patternsレポートに示されているように、Calibriフォントの行のベースラインマイレージ値には多くの丸められた値がありますが、Cambria行のベースライン値は丸められていません。 顧客から報告されたマイレージは四捨五入されると予想されるため、これは、元の報告値がCalibriフォントの行であり、「drivingtwin」データが作成されてからCambriaフォントで入力されたことを示しています。
結論
新しいデータセットを取得するときはいつでも、探索的分析とデータクリーニングを行う可能性があります。 おそらくあなた外れ値を検索する、欠落値がないかデータを確認してください、または各変数の分布を表示します。 この投稿が、データ内の異常なパターンをチェックするためにパターンの探索を使用することを検討するように促したことを願っています。 Explore Patternsを使用して見つけたすべてのパターンが、何かが間違っているか懸念している証拠であるとは限りませんが、ユーティリティは、さらに調査する必要のあるパターンを見つけるためのツールを提供します。
車の転置データを作成するために、少なくとも3台の車両の走行距離を報告した参加者をどのように特定(またはピックアップ)しましたか? 各行をチェックすることで手動で行うことができますが、使用する式はありますか?