Bagaimana jika data regresi linier saya mengandung beberapa hubungan linier co-mingled?

34

Katakanlah saya sedang mempelajari bagaimana bunga bakung merespons berbagai kondisi tanah. Saya telah mengumpulkan data tentang pH tanah versus ketinggian matang bakung. Saya mengharapkan hubungan linier, jadi saya menjalankan regresi linier.

Namun, saya tidak menyadari ketika saya memulai penelitian saya bahwa populasi sebenarnya mengandung dua varietas bakung, yang masing-masing merespon sangat berbeda terhadap pH tanah. Jadi grafiknya mengandung dua hubungan linier yang berbeda:

pH tanah vs tinggi bunga (cm)

Saya bisa melihat dan memisahkannya secara manual, tentu saja. Tetapi saya bertanya-tanya apakah ada pendekatan yang lebih ketat.

Pertanyaan:

  1. Apakah ada tes statistik untuk menentukan apakah satu set data akan lebih cocok dengan satu baris atau dengan garis N?

  2. Bagaimana saya menjalankan regresi linier agar sesuai dengan garis N? Dengan kata lain, bagaimana cara memisahkan data yang terkoordinasi?

Saya bisa memikirkan beberapa pendekatan kombinatorial, tetapi mereka tampaknya mahal secara komputasi.


Klarifikasi:

  1. Keberadaan dua varietas tidak diketahui pada saat pengumpulan data. Variasi masing-masing bakung tidak diamati, tidak dicatat, dan tidak dicatat.

  2. Tidak mungkin memulihkan informasi ini. Bakung telah mati sejak saat pengumpulan data.

Saya memiliki kesan bahwa masalah ini adalah sesuatu yang mirip dengan menerapkan algoritma pengelompokan, di mana Anda hampir perlu mengetahui jumlah cluster sebelum Anda mulai. Saya percaya bahwa dengan set data APAPUN, meningkatkan jumlah baris akan mengurangi kesalahan total rms. Secara ekstrem, Anda dapat membagi set data Anda menjadi pasangan sewenang-wenang dan cukup menggambar garis melalui masing-masing pasangan. (Misalnya, jika Anda memiliki 1000 titik data, Anda dapat membaginya menjadi 500 pasangan yang sewenang-wenang dan menggambar garis melalui masing-masing pasangan.) Kesesuaian akan tepat dan kesalahan rms akan menjadi nol. Tapi bukan itu yang kita inginkan. Kami ingin jumlah baris yang "benar".

SlowMagic
sumber
3
Anda tahu dafodil mana yang kelambanan? Jika demikian, maka Anda bisa memasukkan informasi itu ke dalam model Anda
rep_ho
1
Ini sepertinya kasus klasik dari interaksi statistik, seperti pada jawaban @Detri Pananos.
rolando2
2
Saya merasa mereka tidak memiliki informasi tentang varietas bunga di data mereka. Saya setuju bahwa jika mereka memilikinya maka ini hanya akan menjadi kasus membangun model interaksi atau bahkan hanya menjalankan regresi terpisah untuk masing-masing varietas. Namun, jika mereka tidak memiliki info itu tidak semua harapan hilang. Seseorang dapat membangun sebuah model yang memperkirakan tidak hanya garis yang terpisah tetapi juga memprediksi probabilitas bahwa setiap pengamatan termasuk dalam salah satu kelompok.
Dason
1
@ DemetriPananos Saya memberikan jawaban yang mudah-mudahan masuk akal. Tergantung pada apa yang ingin mereka lakukan, itu adalah pekerjaan yang lebih sedikit. Untuk melakukan semacam pengujian, Anda perlu melakukan tes rasio kemungkinan atau melakukan semacam tes pengacakan atau sesuatu. Tetapi mereka belum memberi kami terlalu banyak info dan jika tujuannya hanya untuk menyesuaikan garis dan mereka tidak memiliki label maka itu tidak terlalu buruk untuk dilakukan dengan menggunakan paket mixtools.
Dason

Jawaban:

31

Saya pikir jawaban Demetri adalah jawaban yang bagus jika kami menganggap Anda memiliki label untuk varietas yang berbeda. Ketika saya membaca pertanyaan Anda, sepertinya itu bukan masalah saya. Kita dapat menggunakan pendekatan yang didasarkan pada algoritma EM pada dasarnya sesuai dengan model yang disarankan Demetri tetapi tanpa mengetahui label untuk varietas. Untungnya paket mixtools di R menyediakan fungsi ini untuk kita. Karena data Anda cukup terpisah dan Anda tampaknya memiliki sedikit, itu seharusnya cukup berhasil.

library(mixtools)

# Generate some fake data that looks kind of like yours
n1 <- 150
ph1 = runif(n1, 5.1, 7.8)
y1 <- 41.55 + 5.185*ph1 + rnorm(n1, 0, .25)

n2 <- 150
ph2 <- runif(n2, 5.3, 8)
y2 <- 65.14 + 1.48148*ph2 + rnorm(n2, 0, 0.25)

# There are definitely better ways to do all of this but oh well
dat <- data.frame(ph = c(ph1, ph2), 
                  y = c(y1, y2), 
                  group = rep(c(1,2), times = c(n1, n2)))

# Looks about right
plot(dat$ph, dat$y)

# Fit the regression. One line for each component. This defaults
# to assuming there are two underlying groups/components in the data
out <- regmixEM(y = dat$y, x = dat$ph, addintercept = T)

Kami dapat memeriksa hasilnya

> summary(out)
summary of regmixEM object:
          comp 1    comp 2
lambda  0.497393  0.502607
sigma   0.248649  0.231388
beta1  64.655578 41.514342
beta2   1.557906  5.190076
loglik at estimate:  -182.4186 

Jadi cocok dua regresi dan diperkirakan 49,7% dari pengamatan jatuh ke dalam regresi untuk komponen 1 dan 50,2% jatuh ke dalam regresi untuk komponen 2. Cara saya mensimulasikan data itu adalah split 50-50 jadi ini bagus.

Nilai 'benar' yang saya gunakan untuk simulasi harus memberikan baris:

y = 41.55 + 5.185 * ph dan y = 65.14 + 1.48148 * ph

(yang saya perkirakan 'dengan tangan' dari plot Anda sehingga data yang saya buat terlihat mirip dengan Anda) dan garis-garis yang diberikan algoritma EM dalam kasus ini adalah:

y = 41.514 + 5.19 * ph dan y = 64.655 + 1.55 * ph

Sangat sangat dekat dengan nilai aktual.

Kita dapat memplot garis yang dipasang bersama dengan data

plot(dat$ph, dat$y, xlab = "Soil Ph", ylab = "Flower Height (cm)")
abline(out$beta[,1], col = "blue") # plot the first fitted line
abline(out$beta[,2], col = "red") # plot the second fitted line

Saluran yang dipasang melalui EM

Alasan
sumber
21

EDIT: Saya awalnya berpikir OP tahu pengamatan mana yang berasal dari spesies mana. Suntingan OP memperjelas bahwa pendekatan awal saya tidak layak. Saya akan menyerahkannya untuk anak cucu, tetapi jawaban yang lain jauh lebih baik. Sebagai penghibur, saya telah membuat model model campuran di Stan. Saya tidak mengatakan pendekatan Bayesian sangat bagus dalam kasus ini, tetapi itu hanya sesuatu yang rapi yang dapat saya sumbangkan.

Kode Stan

data{

  //Number of data points
  int N; 

  real y[N];
  real x[N];
}
parameters{
  //mixing parameter
  real<lower=0, upper =1>  theta;

  //Regression intercepts
  real beta_0[2];

  //Regression slopes.
  ordered[2] beta_1;

  //Regression noise
  real<lower=0> sigma[2];
}
model{

  //priors
  theta ~ beta(5,5);
  beta_0 ~ normal(0,1);
  beta_1 ~ normal(0,1);
  sigma ~ cauchy(0,2.5);

  //mixture likelihood
  for (n in 1:N){
    target+=log_mix(theta,
                     normal_lpdf(y[n] | beta_0[1] + beta_1[1]*x[n], sigma[1]),
                     normal_lpdf(y[n] | beta_0[2] + beta_1[2]*x[n], sigma[2]));
  }
}
generated quantities {
  //posterior predictive distribution
  //will allow us to see what points belong are assigned
  //to which mixture 
  matrix[N,2] p;
  matrix[N,2] ps;
  for (n in 1:N){
    p[n,1] = log_mix(theta,
                     normal_lpdf(y[n] | beta_0[1] + beta_1[1]*x[n], sigma[1]),
                     normal_lpdf(y[n] | beta_0[2] + beta_1[2]*x[n], sigma[2]));

    p[n,2]= log_mix(1-theta,
                     normal_lpdf(y[n] | beta_0[1] + beta_1[1]*x[n], sigma[1]),
                     normal_lpdf(y[n] | beta_0[2] + beta_1[2]*x[n], sigma[2]));

    ps[n,]= p[n,]/sum(p[n,]);
  }
}

Jalankan Model Stan Dari R

library(tidyverse)
library(rstan)


#Simulate the data
N = 100
x = rnorm(N, 0, 3)
group = factor(sample(c('a','b'),size = N, replace = T))

y = model.matrix(~x*group)%*% c(0,1,0,2) 
y = as.numeric(y) + rnorm(N)

d = data_frame(x = x, y = y)

d %>% 
  ggplot(aes(x,y))+
  geom_point()

#Fit the model
N = length(x)
x = as.numeric(x)
y = y

fit = stan('mixmodel.stan', 
           data = list(N= N, x = x, y = y),
           chains = 8,
           iter = 4000)

Hasil

masukkan deskripsi gambar di sini

Garis putus-putus adalah kebenaran dasar, garis padat diperkirakan.


Jawaban Asli

Jika Anda tahu sampel mana yang berasal dari varietas bakung, Anda dapat memperkirakan interaksi antara varietas dan PH tanah.

Model Anda akan terlihat seperti

y=β0+β1variasi+β2PH+β3variasiPH

Berikut adalah contoh dalam R. Saya telah menghasilkan beberapa data yang terlihat seperti ini:

masukkan deskripsi gambar di sini

Jelas dua garis berbeda, dan garis sesuai dengan dua spesies. Berikut ini cara memperkirakan garis menggunakan regresi linier.

library(tidyverse)

#Simulate the data
N = 1000
ph = runif(N,5,8)
species = rbinom(N,1,0.5)

y = model.matrix(~ph*species)%*% c(20,1,20,-3) + rnorm(N, 0, 0.5)
y = as.numeric(y)

d = data_frame(ph = ph, species = species, y = y)

#Estimate the model
model = lm(y~species*ph, data = d)
summary(model)

Dan hasilnya adalah

> summary(model)

Call:
lm(formula = y ~ species * ph, data = d)

Residuals:
     Min       1Q   Median       3Q      Max 
-1.61884 -0.31976 -0.00226  0.33521  1.46428 

Coefficients:
            Estimate Std. Error t value Pr(>|t|)    
(Intercept) 19.85850    0.17484  113.58   <2e-16 ***
species     20.31363    0.24626   82.49   <2e-16 ***
ph           1.01599    0.02671   38.04   <2e-16 ***
species:ph  -3.03174    0.03756  -80.72   <2e-16 ***
---
Signif. codes:  
0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.4997 on 996 degrees of freedom
Multiple R-squared:  0.8844,    Adjusted R-squared:  0.8841 
F-statistic:  2541 on 3 and 996 DF,  p-value: < 2.2e-16

Untuk spesies berlabel 0, garisnya kira-kira

y=19+1PH

Untuk spesies berlabel 1, garisnya kira-kira

y=40-2PH

Pisang Demetri
sumber
Jika OP mengetahui variasi daffodil di muka, mengapa mereka tidak bisa membagi data menjadi dua bagian, dan menjalankan dua regresi terpisah untuk masing-masing varietas?
Akavall
Jika OP tidak tertarik pada perbedaan antara varietas daffodil (mis. Apakah varietas 1 tumbuh lebih tinggi daripada varietas 2 yang dikondisikan pada PH tanah) maka tidak ada alasan untuk mengembalikan semua data bersama-sama, kecuali mungkin argumen seputar presisi.
Demetri Pananos
@Akavail - Mereka dapat membagi data tetapi menjalankannya seperti ini membuat lebih mudah untuk melakukan perbandingan apa pun jika mereka tertarik untuk menguji hipotesis apa pun tentang perbedaan antara varietas. Menjalankan kombinasi itu juga akan memberikan perkiraan yang sedikit lebih baik jika asumsi varians yang sama valid.
Dason
1
Sebelum saya melihat ke dalam pendekatan EM saya mempertimbangkan pendekatan Bayesian. Tetapi sebanyak saya suka cara bayesian dalam melakukan sesuatu, saya jadi malas dan jauh lebih mudah untuk hanya mengambil pendekatan EM. Dengan mengatakan bahwa saya lebih suka analisis Bayesian dan saya pikir itu membuat menjawab pertanyaan tindak lanjut lebih mudah juga - Anda mungkin memiliki waktu yang lebih sulit untuk mengkodekan model awal tetapi setelah Anda melakukannya, jauh lebih mudah untuk menjawab pertanyaan Anda mungkin telah menggunakan distribusi posterior.
Dason
2

Pendekatan statistik sangat mirip dengan dua jawaban di atas, tetapi lebih banyak membahas cara memilih jumlah kelas laten jika Anda tidak memiliki pengetahuan sebelumnya. Anda dapat menggunakan kriteria informasi atau kekikiran sebagai panduan dalam memilih sejumlah kelas laten.

Berikut ini adalah contoh Stata menggunakan urutan model campuran hingga (FMM) dengan 2-4 kelas / komponen laten. Tabel pertama adalah koefisien untuk keanggotaan kelas laten. Ini agak sulit untuk ditafsirkan, tetapi mereka dapat dikonversi ke probabilitas nanti estat lcprob. Untuk setiap kelas, Anda juga mendapatkan parameter intersep dan parameter kemiringan ph, diikuti oleh probabilitas marginal kelas laten, dan dua IC dalam-sampel. Estimasi koefisien ini diinterpretasikan hanya sebagai koefisien dari model regresi linier. Di sini, BIC dalam sampel terkecil memberi tahu Anda untuk memilih dua model komponen sebagai yang terbaik. AIC anehnya memilih model 3 komponen. Anda juga dapat menggunakan IC sampel keluar untuk memilih atau menggunakan validasi silang.

.01433133004

Pendekatan FMM tidak akan selalu berhasil dengan baik dalam praktik jika kelas-kelasnya kurang jelas. Anda mungkin mengalami kesulitan komputasi dengan kelas laten terlalu banyak, terutama jika Anda tidak memiliki cukup data, atau fungsi kemungkinan memiliki beberapa maxima lokal.

. clear

. /* Fake Data */
. set seed 10011979

. set obs 300
number of observations (_N) was 0, now 300

. gen     ph = runiform(5.1, 7.8) in 1/150
(150 missing values generated)

. replace ph = runiform(5.3, 8)   in 151/300
(150 real changes made)

. gen y      = 41.55 + 5.185*ph   + rnormal(0, .25)  in 1/150
(150 missing values generated)

. replace y  = 65.14 + 1.48148*ph + rnormal(0, 0.25) in 151/300
(150 real changes made)

. 
. /* 2 Component FMM */
. fmm 2, nolog: regress y ph

Finite mixture model                            Number of obs     =        300
Log likelihood =  -194.5215

------------------------------------------------------------------------------
             |      Coef.   Std. Err.      z    P>|z|     [95% Conf. Interval]
-------------+----------------------------------------------------------------
1.Class      |  (base outcome)
-------------+----------------------------------------------------------------
2.Class      |
       _cons |   .0034359   .1220066     0.03   0.978    -.2356927    .2425645
------------------------------------------------------------------------------

Class          : 1
Response       : y
Model          : regress

------------------------------------------------------------------------------
             |      Coef.   Std. Err.      z    P>|z|     [95% Conf. Interval]
-------------+----------------------------------------------------------------
y            |
          ph |   5.173137   .0251922   205.35   0.000     5.123761    5.222513
       _cons |     41.654   .1622011   256.80   0.000      41.3361    41.97191
-------------+----------------------------------------------------------------
     var(e.y)|   .0619599   .0076322                      .0486698     .078879
------------------------------------------------------------------------------

Class          : 2
Response       : y
Model          : regress

------------------------------------------------------------------------------
             |      Coef.   Std. Err.      z    P>|z|     [95% Conf. Interval]
-------------+----------------------------------------------------------------
y            |
          ph |   1.486062    .026488    56.10   0.000     1.434147    1.537978
       _cons |   65.10664   .1789922   363.74   0.000     64.75582    65.45746
-------------+----------------------------------------------------------------
     var(e.y)|   .0630583   .0075271                      .0499042    .0796797
------------------------------------------------------------------------------

. estat lcprob

Latent class marginal probabilities             Number of obs     =        300

--------------------------------------------------------------
             |            Delta-method
             |     Margin   Std. Err.     [95% Conf. Interval]
-------------+------------------------------------------------
       Class |
          1  |    .499141   .0305016      .4396545    .5586519
          2  |    .500859   .0305016      .4413481    .5603455
--------------------------------------------------------------

. estat ic

Akaike's information criterion and Bayesian information criterion

-----------------------------------------------------------------------------
       Model |        Obs  ll(null)  ll(model)      df         AIC        BIC
-------------+---------------------------------------------------------------
           . |        300         .  -194.5215       7     403.043   428.9695
-----------------------------------------------------------------------------
               Note: N=Obs used in calculating BIC; see [R] BIC note.

. 
. /* 3 Component FMM */
. fmm 3, nolog: regress y ph

Finite mixture model                            Number of obs     =        300
Log likelihood =  -187.4824

------------------------------------------------------------------------------
             |      Coef.   Std. Err.      z    P>|z|     [95% Conf. Interval]
-------------+----------------------------------------------------------------
1.Class      |  (base outcome)
-------------+----------------------------------------------------------------
2.Class      |
       _cons |  -.0312504    .123099    -0.25   0.800    -.2725199    .2100192
-------------+----------------------------------------------------------------
3.Class      |
       _cons |  -3.553227   .5246159    -6.77   0.000    -4.581456   -2.524999
------------------------------------------------------------------------------

Class          : 1
Response       : y
Model          : regress

------------------------------------------------------------------------------
             |      Coef.   Std. Err.      z    P>|z|     [95% Conf. Interval]
-------------+----------------------------------------------------------------
y            |
          ph |   5.173077   .0252246   205.08   0.000     5.123637    5.222516
       _cons |   41.65412     .16241   256.48   0.000      41.3358    41.97243
-------------+----------------------------------------------------------------
     var(e.y)|   .0621157   .0076595                      .0487797    .0790975
------------------------------------------------------------------------------

Class          : 2
Response       : y
Model          : regress

------------------------------------------------------------------------------
             |      Coef.   Std. Err.      z    P>|z|     [95% Conf. Interval]
-------------+----------------------------------------------------------------
y            |
          ph |   1.476049   .0257958    57.22   0.000      1.42549    1.526608
       _cons |   65.18698   .1745018   373.56   0.000     64.84496    65.52899
-------------+----------------------------------------------------------------
     var(e.y)|   .0578413   .0070774                      .0455078    .0735173
------------------------------------------------------------------------------

Class          : 3
Response       : y
Model          : regress

------------------------------------------------------------------------------
             |      Coef.   Std. Err.      z    P>|z|     [95% Conf. Interval]
-------------+----------------------------------------------------------------
y            |
          ph |   1.776746   .0020074   885.09   0.000     1.772811     1.78068
       _cons |   62.76633   .0134072  4681.54   0.000     62.74005    62.79261
-------------+----------------------------------------------------------------
     var(e.y)|   9.36e-06   6.85e-06                      2.23e-06    .0000392
------------------------------------------------------------------------------

. estat lcprob

Latent class marginal probabilities             Number of obs     =        300

--------------------------------------------------------------
             |            Delta-method
             |     Margin   Std. Err.     [95% Conf. Interval]
-------------+------------------------------------------------
       Class |
          1  |   .5005343   .0304855      .4410591    .5599944
          2  |   .4851343   .0306119      .4256343    .5450587
          3  |   .0143313   .0073775      .0051968     .038894
--------------------------------------------------------------

. estat ic

Akaike's information criterion and Bayesian information criterion

-----------------------------------------------------------------------------
       Model |        Obs  ll(null)  ll(model)      df         AIC        BIC
-------------+---------------------------------------------------------------
           . |        300         .  -187.4824      11    396.9648   437.7064
-----------------------------------------------------------------------------
               Note: N=Obs used in calculating BIC; see [R] BIC note.

. 
. /* 4 Component FMM */
. fmm 4, nolog: regress y ph

Finite mixture model                            Number of obs     =        300
Log likelihood = -188.06042

------------------------------------------------------------------------------
             |      Coef.   Std. Err.      z    P>|z|     [95% Conf. Interval]
-------------+----------------------------------------------------------------
1.Class      |  (base outcome)
-------------+----------------------------------------------------------------
2.Class      |
       _cons |  -.6450345   .5853396    -1.10   0.270    -1.792279      .50221
-------------+----------------------------------------------------------------
3.Class      |
       _cons |  -.8026907   .6794755    -1.18   0.237    -2.134438    .5290568
-------------+----------------------------------------------------------------
4.Class      |
       _cons |  -3.484714   .5548643    -6.28   0.000    -4.572229     -2.3972
------------------------------------------------------------------------------

Class          : 1
Response       : y
Model          : regress

------------------------------------------------------------------------------
             |      Coef.   Std. Err.      z    P>|z|     [95% Conf. Interval]
-------------+----------------------------------------------------------------
y            |
          ph |   5.173031   .0251474   205.71   0.000     5.123743    5.222319
       _cons |   41.65574    .161938   257.23   0.000     41.33835    41.97313
-------------+----------------------------------------------------------------
     var(e.y)|   .0617238   .0076596                      .0483975    .0787195
------------------------------------------------------------------------------

Class          : 2
Response       : y
Model          : regress

------------------------------------------------------------------------------
             |      Coef.   Std. Err.      z    P>|z|     [95% Conf. Interval]
-------------+----------------------------------------------------------------
y            |
          ph |   1.503764   .0371216    40.51   0.000     1.431007    1.576521
       _cons |   65.13498   .2666049   244.31   0.000     64.61244    65.65751
-------------+----------------------------------------------------------------
     var(e.y)|   .0387473   .0188853                      .0149062    .1007195
------------------------------------------------------------------------------

Class          : 3
Response       : y
Model          : regress

------------------------------------------------------------------------------
             |      Coef.   Std. Err.      z    P>|z|     [95% Conf. Interval]
-------------+----------------------------------------------------------------
y            |
          ph |   1.441334   .0443892    32.47   0.000     1.354333    1.528335
       _cons |   65.26791   .2765801   235.98   0.000     64.72582       65.81
-------------+----------------------------------------------------------------
     var(e.y)|   .0307352    .010982                      .0152578    .0619127
------------------------------------------------------------------------------

Class          : 4
Response       : y
Model          : regress

------------------------------------------------------------------------------
             |      Coef.   Std. Err.      z    P>|z|     [95% Conf. Interval]
-------------+----------------------------------------------------------------
y            |
          ph |   1.665207   .0079194   210.27   0.000     1.649685    1.680728
       _cons |   63.42577   .0510052  1243.52   0.000      63.3258    63.52573
-------------+----------------------------------------------------------------
     var(e.y)|    .000096   .0000769                        .00002    .0004611
------------------------------------------------------------------------------

. estat lcprob

Latent class marginal probabilities             Number of obs     =        300

--------------------------------------------------------------
             |            Delta-method
             |     Margin   Std. Err.     [95% Conf. Interval]
-------------+------------------------------------------------
       Class |
          1  |   .4991443   .0304808      .4396979     .558615
          2  |   .2618733   .1506066      .0715338    .6203076
          3  |   .2236773    .150279      .0501835    .6110804
          4  |    .015305    .008329       .005234    .0438994
--------------------------------------------------------------

. estat ic

Akaike's information criterion and Bayesian information criterion

-----------------------------------------------------------------------------
       Model |        Obs  ll(null)  ll(model)      df         AIC        BIC
-------------+---------------------------------------------------------------
           . |        300         .  -188.0604      15    406.1208   461.6776
-----------------------------------------------------------------------------
               Note: N=Obs used in calculating BIC; see [R] BIC note.
Dimitriy V. Masterov
sumber
Terima kasih atas jawaban yang sangat menarik ini. Anda telah memberi saya beberapa konsep baru untuk diteliti!
SlowMagic
0

Saya akan fokus pada pertanyaan signifikansi statistik karena Dason sudah membahas bagian pemodelan.

Saya tidak terbiasa dengan tes formal untuk ini (yang saya yakin ada), jadi saya hanya akan membuang beberapa ide di luar sana (dan saya mungkin akan menambahkan kode R dan rincian teknis nanti).

Pertama, mudah untuk menyimpulkan kelas. Anggap Anda memiliki dua garis yang cocok dengan data, Anda dapat merekonstruksi sekitar dua kelas dengan menetapkan setiap titik ke kelas garis yang paling dekat dengannya. Untuk poin di dekat persimpangan, Anda akan mengalami masalah, tetapi untuk sekarang abaikan saja (mungkin ada cara untuk mengatasi ini, tetapi untuk sekarang hanya berharap bahwa ini tidak akan banyak berubah).

xlxrxlxrxlxr

Lalu ada dua cara alami yang saya lihat untuk melakukan hal ini.

Cara yang kurang menyenangkan adalah dengan menjalankan dataset asli Anda dikombinasikan dengan label kelas yang disimpulkan melalui regresi linier seperti pada jawaban Demetri.

Cara yang lebih menarik untuk melakukannya adalah melalui versi ANOVA yang dimodifikasi. Intinya adalah untuk membuat dataset buatan yang mewakili dua baris (dengan spread yang sama di antara mereka) dan kemudian menerapkan ANOVA. Secara teknis, Anda perlu melakukan ini sekali untuk sisi kiri, dan sekali untuk kanan (yaitu Anda akan memiliki dua set data buatan).

y1(saya)=β1,1x1(saya)+β1,0+e1(saya)
β1,1x1(saya)+β1,0
β1,1xSebuahvg+β1,0
xlSebuahvgxy1(saya)
y~1(saya)=β1,1xSebuahvg+β1,0+e1(saya),
y~1(saya)y~2(saya)

N

Jacob Maibach
sumber
-2

Apakah mungkin bahwa memasukkan keduanya dalam grafik yang sama adalah kesalahan? Mengingat bahwa varietas berperilaku sangat berbeda, adakah nilai dalam tumpang tindih data? Tampak bagi saya bahwa Anda mencari dampak pada spesies bakung, bukan dampak lingkungan serupa pada bakung yang berbeda. Jika Anda kehilangan data yang membantu menentukan spesies "A" dari spesies "B" Anda cukup mengelompokkan perilaku "A" dan perilaku "B" dan memasukkan penemuan dua spesies dalam narasi Anda. Atau, jika Anda benar-benar menginginkan satu bagan, cukup gunakan dua set data pada sumbu yang sama. Saya tidak memiliki keahlian yang saya lihat dalam tanggapan lain yang diberikan sehingga saya harus menemukan metode yang kurang "terampil". Saya akan menjalankan analisis data dalam lingkungan lembar kerja di mana persamaan lebih mudah untuk dikembangkan. Kemudian, begitu pengelompokan menjadi jelas, buat dua tabel data terpisah diikuti dengan mengubahnya menjadi grafik / grafik. Saya bekerja dengan banyak data dan saya sering menemukan bahwa asumsi saya tentang korelasi yang berbeda ternyata salah; data itulah yang seharusnya membantu kami menemukan. Setelah saya mengetahui bahwa asumsi saya salah, saya menampilkan data berdasarkan perilaku yang ditemukan dan mendiskusikan perilaku tersebut dan menghasilkan analisis statistik sebagai bagian dari narasi.

KBKIA
sumber
1
Saya yakin bahwa Anda telah diturunkan suara karena jawaban Anda tidak memberikan kejelasan atau wawasan dalam menanggapi pertanyaan. Anda perlu menyusun jawaban dengan lebih membantu dan memperjelas sub-pertanyaan apa yang Anda bahas di setiap poin. Pertanyaan telah diperbarui antara jawaban dan sebelum jawaban Anda dengan jelas menyatakan bahwa info variasi tidak tersedia tidak dapat dipulihkan.
ReneBt
2
Selamat Datang di Cross Divalidasi! Tolong jangan ditunda karena jawaban pertama Anda tidak diterima dengan baik - & solusi yang lebih sederhana bisa sangat berguna - tetapi karena si penanya sudah menyatakan, "Saya bisa melihatnya dan memisahkannya secara manual, tentu saja", sepertinya tidak akan menambahkan banyak.
Scortchi