私が理解していることから、訓練データの間隔内にある回帰関数のみを構築できます。
例(パネルの1つだけが必要です):
KNNリグレッサーを使用して将来をどのように予測しますか?繰り返しますが、トレーニングデータの間隔内にある関数のみを近似しているようです。
私の質問:KNNリグレッサーを使用する利点は何ですか?私はそれが分類のための非常に強力なツールであることを理解していますが、回帰シナリオではパフォーマンスが悪いようです。
私が理解していることから、訓練データの間隔内にある回帰関数のみを構築できます。
例(パネルの1つだけが必要です):
KNNリグレッサーを使用して将来をどのように予測しますか?繰り返しますが、トレーニングデータの間隔内にある関数のみを近似しているようです。
私の質問:KNNリグレッサーを使用する利点は何ですか?私はそれが分類のための非常に強力なツールであることを理解していますが、回帰シナリオではパフォーマンスが悪いようです。
回答:
K-NNなどのローカルメソッドは、状況によっては意味があります。
私が学校で行った1つの例は、セメント成分のさまざまな混合物の圧縮強度を予測することに関するものでした。これらの成分はすべて、応答または互いに関して比較的不揮発性であり、KNNは信頼性の高い予測を行いました。言い換えれば、独立変数はどれも、個々に、またはおそらく相互作用によってモデルに与える不均衡に大きな分散を持っていませんでした。
これを最終的に示すデータ調査手法を知らないので、これを一見してみてください。しかし、直感的には、フィーチャにある程度の分散度がある場合、どの割合かわからないので、 KNN候補。私は確かに、この効果のために開発されたいくつかの研究と結果の技術があるかどうか知りたいです。
一般化されたドメインの観点から考えると、同様の「レシピ」が同様の結果をもたらす幅広い種類のアプリケーションがあります。これは確かに、混合セメントの結果を予測する状況を説明しているように見えました。この説明に従って動作するデータがあり、さらに距離測定も手元のドメインに自然であり、最後に十分なデータがある場合、KNNまたは別のローカルメソッドから有用な結果を取得する必要があると思います。
また、ローカルメソッドを使用すると、非常に低いバイアスのメリットも得られます。一般的な加算モデル(GAM)は、KNNを使用して個々の変数を次のように適合させることにより、バイアスと分散のバランスを保つことがあります。
加算部分(プラス記号)は大きな変動から保護し、代わりにKNNを使用すると高いバイアスから保護します。
KNNをそんなに早く消すつもりはありません。場所があります。
私はそれを言いたくありませんが、実際には、「将来への予測」は、knnでも現在存在する他の分類器またはリグレッサーでも不可能ではないということです。
もちろん、線形回帰の線またはSVMのハイパープレーンを外挿することはできますが、最終的には、将来がどうなるかわかりません。これは、たとえばガウスプロセスなどのベイジアンメソッドを見ると明らかになります。「既知の入力ドメイン」を離れるとすぐに大きな不確実性に気づくでしょう。
もちろん、今日起こったことから明日起こりそうなことまで一般化してみることができます。これは、knnリグレッサーで簡単に実行できます(たとえば、クリスマス期間中の昨年の顧客数は、今年の数について良いヒントを与えてくれます)。確かに他の方法には傾向などが組み込まれている可能性がありますが、最終的には、株式市場や長期的な天気予報に関して、どれだけうまく機能するかを見ることができます。
最初に、「KNNリグレッサーを使用して将来をどのように予測しますか?」の例です。
問題:
、から明日時間を予測します。
トレーニングデータ:過去10年間の(ある都市)、3650の数字。
示し と。
方法:3650奇数の曲線をk = 7のkdツリーに配置します。
新しい与えられた、10最近傍週の発言を見て
自分で
と計算の加重平均
重みを調整します。たとえば、inverse-distance-weighted-idw-interpolation-with-python、
および7dの「最近傍」の距離メトリックを参照してください
。
「KNNリグレッサーを使用する利点は何ですか?」
他の人の良いコメントに、簡単にコーディングして理解し、ビッグデータにスケールアップします。
欠点:データやチューニングに敏感で、あまり理解していない。
したがって、最初の行「トレーニングデータの間隔内にある回帰関数のみを構築できます」は、混乱を招く単語「回帰」に関するもののようです。