
エンジニアリングメールバッグ
エピソード 1: 除雪車サービスの経済学
私たち JMP システム エンジニアは、通常の範囲をやや逸脱するような興味深い質問に遭遇することがあります。 JMP使用法。 これらのアプリケーションは一般に賢く、データの使用がビジネス上または技術的な問題のためだけではないことを思い出させます。
これは、ニューヨーク州のユーザー (マイクという名前も付けられます) から受け取った質問の例で、彼と私が共有すると楽しいと思いました。
質問
マイク[JMP]、
昨年の降雪量の合計について見つけたデータを使用して、JMP をいじっています。 私はこの夏に新しい家に引っ越しましたが、現在長さ 387 フィートの私道があり、除雪する必要があります。 最近、除雪請負業者と話をしていたのですが、彼は私に季節契約を結ぼうとしてきました。 通常、プッシュごとに料金を請求する場合、3 インチ以上の雪があれば、プッシュごとに 75 ドルで行われます。 彼は、雪が降ったらいつでも除雪してくれるという価格を 2,000 ドルと提示しました。 昨年は3インチ以上の雪が降ったことが20回ほどあったので、今年も同じことが起こったら、最終的に1,500ドル(75ドル×20)を支払うことになる、と彼は言いました。 つまり、雪が降るたびに彼に除雪してもらうには、あと 500 ドル支払うだけで済みます。

私のデータからわかるように、昨年は3インチ以上の雪が降ったのは5回だけでした。 もちろん、この業者には興味がないことを伝えました。 結局、1プッシュ50ドルでやってくれる別の人を雇うことになりました。 あなたへの質問は、なぜ JMP は 15 インチの積雪量の合計をグラフ上で 2.5 インチと 3.0 インチの間に配置するのかということです。 合計は降順になっているのに、15 インチが一番右にないのはなぜですか?
ありがとう、
マイク[ユーザー]
私の反応
こんにちは、マイク!
ご質問の答えとしては、「Greenfield Center 1.6 W」列のデータ型が「Character」に設定されていることがわかると思います。明らかなアルファベット順を超えて、順序は文字データと複雑になります。 これをグラフ ビルダーの [カウント降順] オプションと組み合わせると、予測がさらに難しくなります。
私が考えていることは次のとおりです。グラフ ビルダーは最初に「カウントの降順」で順序付けしています。 したがって、行数が最も多いカテゴリが左側に表示され、右に行くにつれて行数が減ります。 同じデータ ポイント数 (1 と 2、1.5 と 2.5、15 ~ 9.5) を持つ複数のグループがある場合、グラフ ビルダーは通常の順序付けルールを使用します。 列は文字であるため、疑似アルファベット順に従うことになります。 これは、アルファベット順は左から右に文字順であるため、最後のグループの順序は 15、3、5.5、6、9.5 になることを意味します。 より制御された例を使用すると、JMP が 1 から 20 までの数値を並べ替える方法は、データ型が文字であるか数値であるかによって異なります。 数値的には、ご想像のとおり、1、2、3、…、20 になります。アルファベット順では、1、10、11、12、13、…、19、2、20、3、4、5、6、7、8、9となります。
この問題をオーバーライドする方法は、Value Order 列プロパティを使用することです。 JMP で使用する順序を定義すると、デフォルトがオーバーライドされます。 ユーザー定義の値の順序の場合、グラフ ビルダーで使用される階層は、カウント降順、次に値の順序、次に値の順序列プロパティで定義されていないもののデフォルトになります。
最高、
M
もっと考えてみよう
これについて考えた後、これにアプローチする追加の方法と、要点を証明するために使用できる視覚化がいくつかあることに気付きました。 まず、データのクリーンアップに取り組みましょう。 Mike が使用したデータは、 NOAAのウェブサイト。このサイトは一度に 1 か月分をダウンロードするように設定されているため、連結作業が必要になります。 データを見ると、各観測所の降水量の数値データにいくつかの文字コードが使用されています。 M と T はそれぞれ「欠落」と「トレース」に使用されます。 これは 2 つのことを意味します。 まず、ゴーストデータ。
第 2 に、NOAA が特定の値の報告を必要としないとみなされる一定のしきい値を設けています。 これらに何らかの方法で対処しなければなりません。 また、データは、JMP が文字とみなす日月形式で提供され、年が欠落しています。 これは、時系列散布図を生成すると、順序が正しくなくなることを意味します。 これも修正する必要があります。
まず、日付の修正は、「検索」として「-」、「置換」として「/mm/yy」を使用する一連の検索と置換操作です。 実際には、これは次のようになります。

日付を修正したら、データを積み重ねることをお勧めします。 これにより、分析のオプションがさらに増えます。 データがスタックされたので、欠損値列プロパティを割り当てて、JMP に「M」を欠損とみなさせることができます。 recode を使用して「T」を数値に変更することもできます。 のNOAA の FAQ同社は、痕跡を「雨量計を濡らすが、0.01インチの測定限界未満である少量の降水」とみなしていると述べている。この場合は、0.01 に再コード化するだけです。
最後に、新しい列「降水量グループ」を作成します。実際に使ってみたBrady Brady のインタラクティブ ビニング (V2) アドインですが、ロジックは数式エディターで行うのが非常に簡単です。 「降水量」が 3 インチより大きい場合は、「除雪」を返します。 3 インチ未満は「No Plow」です。データが欠落している場合は「Missing」を返します。

この列を設定した後、欠落している値をすべて非表示にして除外しました。
この場合、3 種類のビジュアライゼーションが思い浮かびます。 分布、棒グラフ、バブル プロット。 データは積み重ねられているため、それぞれがローカル データ フィルターを使用して対象のステーションを選択します。 以前に作成した指標列に基づいて作成された分布は、2016 ~ 17 シーズンに 5 回の耕作が必要だったことを非常に明確に示しています。

グラフ ビルダーで基準線を使用し、耕起が必要かどうかによって色分けして作成された棒グラフも、同様のストーリーを示しています。
バブル プロットは単に楽しいものであり、ストーリーをアニメーション化することは、メッセージの影響力を高める優れた方法です。 好みやメッセージに応じて、ビジュアライゼーションにアプローチする方法はいくつかあります。 バブル プロットは、インタラクティブ HTML5 にエクスポートすることもできます (添付のデータ テーブルでスクリプトを実行し、OS に適したエクスポート オプションを使用してエクスポートします)。
最初のバブル プロットは、アニメーション化された時間プロットです。 アニメーション化すると、毎日の降水量が追跡され、降水量レベルが除雪の臨界 3 インチ レベルにどの程度近づいているかに基づいて線に色が付けられます。

2 番目の例では、データ セット内のすべての観測点が表示され、ここでも毎日記録された降水量が Y 軸に表示されます。この例では、サイズ変更変数として降水量の値を含めたので、Y 軸が上がるにつれてマーカーが大きくなります。

このマップの例は、データの取得元と同じサイトにある NOAA 測点座標リストを特定することによって作成されました。 ルックアップ テーブルを作成し、仮想結合を使用して、駅名に基づいて各駅の緯度と経度を取得しました。 2 番目のバブル プロットと同様に、マーカーのサイズは、特定の観測所で記録された毎日の降水量によって決まります。 この地図は元の質問にとっては特に重要ではありませんが、アニメーション化すると、2016 年から 2017 年の冬季にニューヨークの吹雪がいつ、どこで、どれほど激しかったかを興味深いビジュアルで示すことができます。 ちょっとした楽しみのために、ニューヨーク市のタイムズスクエアで人々がスノーボードできるようにした暴風雨の場所を探してみましょう (ヒント: 2017 年のことです)。

システム エンジニアに見てもらいたい楽しい質問やデータ セットはありますか?コメントまたはメッセージを残してください。 もしかしたら、これを実行に移すかもしれません。
著者からのメモ
これをもう一度読んでいる人のために、いいえ、あなたは頭がおかしいわけではありません。タイトルは少し変わりました。検索エンジンで見つけやすいようにタイトルを更新してほしいというリクエストを受けました。これは、一部の検索エンジンが、ユーモアのセンスのない 19 世紀の参考図書館員の現代版であるためだと推測するほかありません。ご不便をおかけして申し訳ございません。-M
編集者注:と呼ばれるシリーズの第一弾です
エンジニアリングメールバッグJMP に関するあらゆる種類の技術的な質問に対応する JMP システム エンジニアによって書かれています。
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.