Що робити, якщо дані моєї лінійної регресії містять кілька сумісних лінійних зв’язків?


34

Скажімо, я вивчаю, як нарциси реагують на різні ґрунтові умови. Я зібрав дані про рН ґрунту проти зрілої висоти нарциса. Я очікую лінійних відносин, тому я берусь за лінійною регресією.

Однак я не усвідомив, коли розпочав своє дослідження, що популяція насправді містить два різновиди нарцисів, кожен з яких реагує дуже по-різному на рН ґрунту. Отже, графік містить дві чіткі лінійні співвідношення:

pH грунту проти висоти квітки (см)

Звичайно, я можу це зробити очним яблуком і відокремити його вручну. Але мені цікаво, чи є більш суворий підхід.

Запитання:

  1. Чи є статистичний тест, щоб визначити, чи буде набір даних краще підходити по одному рядку або по N рядків?

  2. Як би я запустив лінійну регресію, щоб відповідати N лініям? Іншими словами, як я розчленовую суміщені дані?

Я можу придумати деякі комбінаторні підходи, але вони здаються обчислювально дорогими.


Роз'яснення:

  1. На час збору даних було невідомо існування двох різновидів. Сорт кожного нарциса не спостерігався, не відзначався та не реєструвався.

  2. Відновити цю інформацію неможливо. Нарциси померли з часу збору даних.

У мене складається враження, що ця проблема чимось схожа на застосування алгоритмів кластеризації, оскільки вам майже потрібно знати кількість кластерів, перш ніж починати. Я вважаю, що при будь-якому наборі даних збільшення кількості рядків зменшить загальну помилку RMS. В крайньому випадку, ви можете розділити набір даних на довільні пари і просто провести лінію через кожну пару. (Наприклад, якби у вас було 1000 точок даних, ви можете розділити їх на 500 довільних пар і провести лінію через кожну пару.) Підгонка була б точною, а помилка RMS була б точно нульовою. Але це не те, що ми хочемо. Ми хочемо «правильної» кількості рядків.



3
чи знаєш ти, який дафодил - це який зміст? Якщо так, то ви можете просто включити цю інформацію у свою модель
rep_ho

1
Це здається класичним випадком статистичної взаємодії, як у відповіді @Demetri Pananos.
rolando2

2
Я відчуваю, що вони не мають інформації про те, який сорт квітки був у їхніх даних. Я погоджуюся, що якби у них це було, то це був би просто випадок побудови моделі взаємодії або навіть просто проведення окремих регресій для кожного сорту. Однак, якщо вони не мають цієї інформації, не вся надія втрачається. Можна побудувати модель, яка оцінює не тільки окремі рядки, але й прогнозує ймовірність того, що кожне спостереження належить до будь-якої групи.
Дейсон

1
@DemetriPananos Я дав відповідь, яка, сподіваюся, має сенс. Залежно від того, що вони хочуть зробити, це зовсім трохи більше роботи. Щоб зробити якесь тестування, вам потрібно буде зробити тест на коефіцієнт ймовірності або зробити тест на рандомізацію чи щось. Але вони не давали нам занадто багато інформації, і якщо мета полягає лише у встановленні ліній, а у них немає етикетки, це не так вже й погано зробити, використовуючи пакунок mixtools.
Дейсон

Відповіді:


31

Я думаю, що відповідь Деметрі є чудовою, якщо припустити, що у вас є мітки для різних сортів. Коли я прочитав ваше запитання, мені здалося, що це не так. Ми можемо використовувати підхід, заснований на алгоритмі ЕМ, щоб в основному відповідати моделі, запропонованій Деметри, але не знаючи етикетки для різноманітності. На щастя, пакет mixtools в R надає нам цю функціональність. Оскільки ваші дані досить відокремлені і вам здається, що їх досить багато, вони повинні бути досить успішними.

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)

Ми можемо вивчити результати

> 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 

Таким чином, він підходив до двох регресій, і за підрахунками, 49,7% спостережень потрапили в регресію для компонента 1, а 50,2% - в регресію для компонента 2. Як я моделював дані, це був розкол 50-50, тому це добре.

"Справжні" значення, які я використовував для моделювання, повинні містити рядки:

y = 41,55 + 5,185 * ph і y = 65,14 + 1,48148 * ph

(яку я оцінив "від руки" з вашого сюжету, щоб дані, які я створював, були схожими на ваші) та рядки, які в цьому випадку дав алгоритм ЕМ:

y = 41,514 + 5,19 * ph і y = 64,655 + 1,55 * ph

Досить чорт, близький до фактичних значень.

Ми можемо побудувати намічені лінії разом з даними

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

Встановлені лінії через ЕМ


21

EDIT: Спочатку я думав, що ОП знає, які спостереження надходять від якого виду. Редагування ОП дає зрозуміти, що мій оригінальний підхід неможливий. Я залишу це для нащадків, але інша відповідь набагато краща. В якості втіхи я зашифрував комбінаційну модель в Стен. Я не кажу, що баєсовський підхід в цьому випадку особливо хороший, але я можу зробити свій внесок у щось акуратне.

Стен Код

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,]);
  }
}

Запустіть модель Стен від 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)

Результати

введіть тут опис зображення

Штрихові лінії - це основна правда, суцільні лінії оцінюються.


Оригінальний відповідь

Якщо ви знаєте, який зразок походить із якого сорту нарцисів, ви можете оцінити взаємодію між сортом та PH грунту.

Ваша модель буде виглядати так

у=β0+β1різноманітність+β2PH+β3різноманітністьPH

Ось приклад у Р. Я створив деякі дані, які виглядають приблизно так:

введіть тут опис зображення

Ясно дві різні лінії, а лінії відповідають двом видам. Ось як оцінити лінії за допомогою лінійної регресії.

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)

І результат є

> 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

Для видів з позначкою 0 лінія є приблизно

у=19+1PH

Для видів із позначкою 1 лінія є приблизно

у=40-2PH


Якщо ОП заздалегідь знає різноманітність нарцисів, чому вони не можуть просто розділити дані на дві частини та виконати дві окремі регресії для кожного сорту?
Акавал

Якщо ОП не зацікавлені в відмінностях між сортами нарцисів (наприклад, чи зростає сорт 1 вище, ніж сорт 2, який обумовлений на ґрунті РН), то немає жодних підстав регресувати всі дані разом, крім, можливо, аргументів щодо точності.
Деметрі Пананос

@Akavail - Вони можуть розділити дані, але запускаючи їх так, як це полегшує будь-яке порівняння, якщо вони були зацікавлені у тестуванні будь-якої гіпотези щодо відмінностей між сортами. Запуск у поєднанні також дасть дещо кращі оцінки, якщо припущення про рівну дисперсію справедливе.
Дейсон

1
Перш ніж заглянути в ЕМ-підхід, я розглядав байєсівський підхід. Але наскільки мені подобається байєсівський спосіб робити речі, я лінувався, і набагато простіше просто скористатися підходом до ЕМ. З огляду на це я вважаю, що я віддаю перевагу байєсівському аналізу, і я думаю, що набагато простіше відповідати на подальші запитання - можливо, у вас буде складніше час кодування початкової моделі, але як тільки ви це зробите, набагато простіше відповідати на питання, які, можливо, вам доведеться використовувати задній розподіл.
Дейсон

2

Статистичний підхід дуже схожий на два відповіді вище, але він розглядає трохи більше, як вибрати кількість прихованих класів, якщо вам не вистачає попередніх знань. Ви можете використовувати інформаційні критерії або посидючість як керівництво при виборі кількості латентних класів.

Ось приклад Stata з використанням послідовності моделей кінцевих сумішей (FMM) з 2-4 латентними класами / компонентами. Перша таблиця - коефіцієнти для латентної належності до класу. Їх трохи важко інтерпретувати, але згодом їх можна перетворити на ймовірності estat lcprob. Для кожного класу ви також отримуєте параметр перехоплення та ph нахилу, з подальшими граничними ймовірностями прихованого класу та двома ІС у вибірці. Ці оцінки коефіцієнтів інтерпретуються так само, як коефіцієнти лінійної регресійної моделі. Тут найменший BIC -зразок вказує вам вибрати двокомпонентну модель як найкращу. AIC дивно вибирає 3-х компонентну модель. Ви також можете використовувати непроборонні ІМС для вибору або використання перехресної перевірки.

.01433133004 спостереження.

Підхід FMM не завжди буде таким успішним на практиці, якщо заняття менш настійні. Ви можете зіткнутися з обчислювальними труднощами із занадто великою кількістю прихованих класів, особливо якщо у вас недостатньо даних або функція ймовірності має кілька локальних максимумів.

. 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.

Дякую за цю дуже цікаву відповідь. Ви дали мені кілька нових концепцій для дослідження!
SlowMagic

0

Я зупинюсь на питанні статистичної значущості, оскільки Дейсон вже охопив частину моделювання.

Мені не знайомі будь-які формальні тести на це (які я впевнений, що існують), тому я просто викину там кілька ідей (і я, мабуть, додам код R та технічні деталі пізніше).

По-перше, зручно робити висновки про класи. Припускаючи, що у вас є два рядки, придатні до даних, ви можете приблизно реконструювати два класи, призначивши кожну точку до класу найближчої до неї лінії. Що стосується точок біля перехрестя, ви зіткнетеся з проблемами, але поки що просто ігноруйте їх (можливо, є спосіб обійти це, але поки сподіваюся, що це не сильно зміниться).

хлхrхлхrхлхr були достатньо відокремлені (найближча точка, де розподіли не перетинаються).

Тоді я бачу два природні способи зробити це.

Менш цікавий спосіб - просто запустити свій оригінальний набір даних у поєднанні з виведеними мітками класу за допомогою лінійної регресії, як у відповіді Деметри.

Більш цікавий спосіб зробити це через модифіковану версію ANOVA. Суть у тому, щоб створити штучний набір даних, який представляє два рядки (з подібним поширенням між ними), а потім застосувати ANOVA. Технічно вам потрібно зробити це один раз для лівого боку та одного разу для правого (тобто у вас буде два штучних набори даних).

у1(i)=β1,1х1(i)+β1,0+е1(i)
β1,1х1(i)+β1,0
β1,1хаvг+β1,0
хлаvгху1(i)
у~1(i)=β1,1хаvг+β1,0+е1(i),
у~1(i)у~2(i) .

N


-2

Чи можливо включення обох в один графік помилка? Враховуючи, що сорти поводяться зовсім по-різному, чи є якесь значення в перекритті даних? Мені здається, ви шукаєте вплив на вид нарцисів, а не вплив подібних середовищ на різні нарциси. Якщо ви втратили дані, які допомагають визначити вид "А" від виду "В", ви можете просто згрупувати поведінку "А" та поведінку "В" та включити відкриття двох видів у свою розповідь. Або, якщо вам дуже потрібна одна діаграма, просто використовуйте два набори даних на одній осі. У мене немає десь близьких знань, які я бачу в інших відповідях, тому я повинен знайти менш "кваліфіковані" методи. Я б запустив аналіз даних у середовищі робочого аркуша, де рівняння простіше розробити. Потім, як тільки групування стануть очевидними, створіть дві окремі таблиці даних з подальшим перетворенням їх у діаграми / графіки. Я працюю з великою кількістю даних і часто виявляю, що мої припущення про різні співвідношення виявляються неправильними; саме це має допомогти нам виявити дані. Як тільки я дізнаюся, що мої припущення неправильні, я показую дані на основі виявленої поведінки та обговорюю ці поведінки та результати статистичного аналізу як частину розповіді.


1
Я припускаю, що вас зняли з огляду на те, що ваша відповідь не дає ясності чи розуміння у відповідь на питання. Вам потрібно зручніше структурувати свою відповідь та уточнити, які підпитання ви звертаєте в кожній точці. Питання було оновлено між відповідями та перед вашою відповіддю, щоб чітко вказати, що інформація про сорт недоступна, не підлягає відновленню.
ReneBt

2
Ласкаво просимо до перехресної перевірки! Будь ласка, не відкладайте, коли ваша перша відповідь не буде добре сприйнята - і простіші рішення можуть бути дуже корисними - але, як запитуючий уже заявляє: "Я можу це зробити оком, і розділити його вручну, звичайно", схоже, це не буде додавати багато.
Scortchi
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.