4

私の場合、さまざまな変数を含むRのデータがいくつかあります。

          B T H G S Z
Golf      1 1 1 0 1 0
Football  0 0 0 1 1 0
Hockey    1 0 0 1 0 0
Golf2     1 1 1 1 1 0
Snooker   1 0 1 0 1 1

ケースごとに期待される出力のベクトルもあります。

1、2、3、1、4

私がやりたいのは、役に立たない変数を特定することです。この例では、BとZはデータを分類する機能がほとんどないため、その事実を伝えたいと思います。

重回帰を使用することを検討しましたが、適切なデータでは数万、数万の場合があるため、すべての変数/ディメンションを個別に入力して操作する必要はありません。

最善のアプローチについての助けをいただければ幸いです。

ところで、私は統計家ではなく、ソフトウェア開発者なので、用語が正しくない場合は失礼します。

4

2 に答える 2

5

あなたは非常に幅広い質問をしましたが、できる限り正確になるように努めます。ただし、注意が必要です。すべての統計分析手法には、暗黙の一連の仮定があります。これは、分析の限界を理解せずに統計モデルの結果に頼ると、間違った結論を簡単に出す可能性があることを意味します。

また、分類が何を意味するのか、私にはよくわかりません。誰かに分類分析を依頼されたら、クラスター分析、因子分析、潜在クラス分析などを検討するでしょう。適用可能な線形回帰モデリングのバリアントがいくつかあります。

とはいえ、データを使用して線形回帰を実行する方法は次のとおりです。

まず、サンプル データを複製します。

dat <- structure(list(B = c(1L, 0L, 1L, 1L, 1L), T = c(1L, 0L, 0L, 1L, 
            0L), H = c(1L, 0L, 0L, 1L, 1L), G = c(0L, 1L, 1L, 1L, 0L), S = c(1L, 
            1L, 0L, 1L, 1L), Z = c(0L, 0L, 0L, 0L, 1L)), .Names = c("B", 
        "T", "H", "G", "S", "Z"), class = "data.frame", row.names = c("Golf", 
        "Football", "Hockey", "Golf2", "Snooker"))
dat
         B T H G S Z
Golf     1 1 1 0 1 0
Football 0 0 0 1 1 0
Hockey   1 0 0 1 0 0
Golf2    1 1 1 1 1 0
Snooker  1 0 1 0 1 1

次に、期待値を追加します。

dat$expected <- c(1,2,3,1,4)
dat
         B T H G S Z expected
Golf     1 1 1 0 1 0        1
Football 0 0 0 1 1 0        2
Hockey   1 0 0 1 0 0        3
Golf2    1 1 1 1 1 0        1
Snooker  1 0 1 0 1 1        4

最後に、分析を開始できます。幸いなことにlm、データ フレーム内のすべての列を使用するように指示するショートカット メカニズムがあります。これを行うには、次の式を使用しますexpected~.

fit <- lm(expected~., dat)
summary(fit)
Call:
lm(formula = expected ~ ., data = dat)

Residuals:
ALL 5 residuals are 0: no residual degrees of freedom!

Coefficients: (2 not defined because of singularities)
             Estimate Std. Error t value Pr(>|t|)
(Intercept)  2.00e+00         NA      NA       NA
B            1.00e+00         NA      NA       NA
T           -3.00e+00         NA      NA       NA
H            1.00e+00         NA      NA       NA
G           -4.71e-16         NA      NA       NA
S                  NA         NA      NA       NA
Z                  NA         NA      NA       NA

Residual standard error: NaN on 0 degrees of freedom
Multiple R-squared:     1,  Adjusted R-squared:   NaN 
F-statistic:   NaN on 4 and 0 DF,  p-value: NA 

そして最後に注意事項です。サンプル データには列よりも行の方が少ないため、線形回帰モデルが機能するにはデータが不十分です。したがって、この場合、最後の 2 つの列を単純に破棄しました。データの簡単な説明は、行と列がはるかに多いことを示しているように見えるので、問題にはならないはずです。

于 2011-07-14T09:23:50.580 に答える
2

考慮すべきさまざまなアプローチがたくさんあります。基本的な出発点の 1 つは、主成分回帰を行うことです ( http://rss.acs.unt.edu/Rdoc/library/pls/html/svdpc.fit.htmlは 1 つの例です)。多くの未解決の問題 - どのような分布が予想されるか、これらの変数が常にブール値であるかどうか、または人口統計スライスの年齢や列挙値のようなものを表しているかどうか。

https://stats.stackexchange.com/には、この種の質問に対する専門家がたくさんいます。

于 2011-07-14T09:21:07.120 に答える