非線形関連付けをテストするにはどうすればよいですか?


37

プロット1では、単純な相関を行うことにより、xとyの間の関連付けをテストできます。 プロット1

関係が非線形であり、xとyの間に明確な関係があるプロット2では、関連付けをテストしてその性質にラベルを付けるにはどうすればよいですか? プロット2

回答:


35

...関係は非線形ですが、xとyの間には明確な関係があります。どうすれば関連付けをテストし、その性質にラベルを付けることができますか?

これを行う1つの方法は、フィット感になりのセミパラメトリック推定関数としてX、例えば、使用して一般化加法モデル間の関係を示さないであろう機能の推定値が一定であることと、テストか否かを、yx Xを。このアプローチにより、多項式回帰を行う必要がなくなり、多項式の次数などについて時々arbitrary意的な決定を行う必要がなくなります。yx

具体的には、観測値がある場合がある場合、モデルを近似できます。(Yi,Xi)

E(Yi|Xi)=α+f(Xi)+ε

そして試験仮説H0:f(x)=0, x。ではRgam()関数を使用してこれを行うことができます。場合はy、あなたの成果であるとx、あなたの予測因子である、あなたが入力できます。

library(mgcv) 
g <- gam(y ~ s(x)) 

入力summary(g)すると、上記の仮説検定の結果が表示されます。関係の性質を特徴付ける限り、これはプロットで行うのが最適です。これを行う1つの方法R(上記のコードが既に入力されていると仮定)

plot(g,scheme=2)

応答変数が離散的(バイナリなど)である場合、ロジスティックGAMをフィッティングすることにより、このフレームワーク内で対応できます(で呼び出しにR追加family=binomialしますgam)。また、複数の予測子がある場合は、複数の加法的項(または通常の線形項)を含めるか、予測子がある場合は多変数関数に適合させることができます。既定の方法を使用すると、関係の複雑さは相互検証によって自動的に選択されますが、ここでは多くの柔軟性があります。f(x,z)x, zgam興味がある場合ヘルプファイルを


1
x=a

@ user1447630これは関係のモデルです。多項式線形回帰または非線形回帰、および加法モデルは、関数の関係を特徴付ける方法です。私はそれらのいずれかに言及することができました。しかし、あなたは関連性の尺度を求めたので、私はあなたに他の可能な形の相関関係を与えました。マクロの答えと同じくらいいいのは、機能的な関係に適合しているかもしれませんが、関連性の尺度を提供していません。
マイケルR.チャーニック

1
@Michael、あなたが読んでいた質問はわかりませんが、OP は関連性の尺度ではなく関連性をテストする方法を尋ねました。いずれにしても、あなたの答えがいいかもしれません(そして、それは変化点がどこで発生するかについてかなり強力な先験的な知識を必要とするという事実を無視します)私はそれが一般的なのではなく、この質問の特定のプロットに過度に調整されていると思います「非線形関連付け」問題。
マクロ

3
@Michael、あなたの解釈(「質問は相関の概念を一般化する方法についてでした。」)およびあなたが与える統計的な「引数」(ところで、線形モデルにおける「係数とモデルの厳密性のテスト」)相関関係のテストと同じ)事実を考えると、意味をなさないので、それらに対処するつもりはありません。しかし、「..あなたが私のものを受け入れられず、あなたのものが受け入れられた後...私はちょうどそれが間違っていると感じました」は、コミュニティにとって有用なものではなく、担当者の固定を反映するあなたの答えをキャンペーンしています。
マクロ

5
xy

14

0

x=a(x,y)x<ax>axy0 すべてのデータを使用して推定すると、これらの推定値は大きく、符号が逆になります。

(x,y)


y=ax2+bx+ca

1
そのために、たとえばOLS線形回帰を使用して2次モデルを近似し、係数aが0より大きい標準的な統計テスト(片側t検定など)を実行します。
マイケルR.チャーニック

1
xxx2t

@Macro xとx間に高度な相関があるかどうかを推測します212


0

ここで私の理解が間違っている場合、誰かが私を修正しますが、非線形変数を扱う1つの方法は、線形近似を使用することです。したがって、たとえば、指数分布のログを取ることにより、変数を正規分布として扱うことができます。その後、線形回帰のように問題を解決するために使用できます。


8
これは本当に質問に答えるとは思わない。ログを取ることは、線形近似を行うことと同じではありません。さらに、たとえログを取得しても、元の変数のログが正規分布変数である分布は、指数分布ではなく対数正規分布です。ただし、線形回帰が適切であるためには、独立変数も従属変数も正規分布する必要はありません。ここでの問題は、変数の限界分布ではなく、変数間の関係です。
シルバーフィッシュ

0

以前は一般的な加算モデルを実装して2つの変数間の非線形関係を検出していましたが、最近nlcorRのパッケージを介して実装された非線形相関について発見しました。ピアソン相関と同じ方法でこのメソッドを実装できます。 、相関係数は0と1の間であり、ピアソン相関のように-1と1ではありません。より高い相関係数は、強い非線形関係の存在を意味します。2つの時系列x2とを仮定してみましょう。2つの時系列y2間の非線形相関は次のようにテストされます。

install.packages("devtools") 
library(devtools)
install_github("ProcessMiner/nlcor")
library(nlcor)
c <- nlcor(x2, y2, plt = T)
c$cor.estimate
[1] 0.897205

2つの変数は非線形関係を介して強く相関しているように見えますが、相関係数の調整されたp値も取得できます。

c$adjusted.p.value
[1] 0

結果をプロットすることもできます

print(c$cor.plot)

これを見ることができます 詳細については、リンク

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.