Introdução

Este relatório apresenta um breve estudo estatístico sobre métodos de inicialização de Cluster. O banco de dados apresenta como variável de interesse o tempo total, dado como a soma do tempo de preparação, do tempo de computação e do tempo de inicialização para cada método. O dataset também apresenta variáveis que serão tratadas como variáveis categóricas, que dizem respeito ao número de observaçaões, de dimensões, de partições, de GPUs e o método de inicialização utilizado. O objetivo principal consiste em analisar quais destas váriaveis apresentam impacto significativo no tempo total de cada execução.

Gráficos do Tempo

Para uma análise visual preliminar do tempo total de execução para os casos em estudos, agrupados em variáveis categóricas, alguns gráficos foram gerados. Devido à grande amplitude que abrange os valores do tempo, foi utilizado o log do Tempo com a intenção de proporcionar uma melhor visualização.

Boxplots Agrupados pelo Número de GPUs

Boxplots Para cada Método de Inicialização

Mountain Plots

Mountain Plots são gráficos que apresentam a função de distribuição acumulada da variável de uma forma “dobrada”. Note que o eixo y à esquerda apresenta os valores até 0.5 e à direita valores de 0.6 a 1. Logo, até o ponto máximo de crescimento, analisa-se pelo eixo y à esquerda e após isso pelo lado direito deste eixo.

## Picking joint bandwidth of 0.106

## Picking joint bandwidth of 0.122

## Picking joint bandwidth of 0.27

## Picking joint bandwidth of 0.261

## Picking joint bandwidth of 0.203

ANOVA

Como análise preliminar, ajustou-se um modelo de regressão simples e realizou-se uma análise de variância (ANOVA) para determinar as variáveis significativas, conforme apresentado abaixo.

## 
## Call:
## lm(formula = TotalTime ~ method_name + K + num_GPUs + n_dim + 
##     n_obs, data = dados)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -62.790  -7.475  -0.068   5.807 200.366 
## 
## Coefficients:
##                              Estimate Std. Error t value Pr(>|t|)    
## (Intercept)                   -4.9010     1.0161  -4.823 1.43e-06 ***
## method_namedistributedKMeans  32.3762     0.4146  78.098  < 2e-16 ***
## K3                             0.9717     0.7649   1.270  0.20400    
## K4                             2.0210     0.7649   2.642  0.00825 ** 
## K5                             3.0630     0.7652   4.003 6.30e-05 ***
## K6                             3.8287     0.7673   4.990 6.16e-07 ***
## K7                             4.3996     0.7693   5.719 1.10e-08 ***
## K8                             5.1280     0.7721   6.642 3.27e-11 ***
## K9                             6.1421     0.7753   7.922 2.59e-15 ***
## K10                            7.0849     0.7768   9.121  < 2e-16 ***
## K11                            7.4807     0.7798   9.593  < 2e-16 ***
## K12                            8.2986     0.7823  10.607  < 2e-16 ***
## K13                            9.0349     0.7843  11.520  < 2e-16 ***
## K14                            9.4693     0.7869  12.034  < 2e-16 ***
## K15                           10.3059     0.7892  13.058  < 2e-16 ***
## num_GPUs4                     -6.1942     0.4298 -14.413  < 2e-16 ***
## num_GPUs6                     -8.6865     0.4284 -20.278  < 2e-16 ***
## num_GPUs8                     -9.7093     0.4283 -22.668  < 2e-16 ***
## n_dim3                         5.4207     0.7216   7.512 6.36e-14 ***
## n_dim4                         7.5656     0.7573   9.990  < 2e-16 ***
## n_dim5                         9.0079     0.7591  11.867  < 2e-16 ***
## n_dim6                        10.7478     0.7702  13.954  < 2e-16 ***
## n_dim7                        12.9613     0.7836  16.541  < 2e-16 ***
## n_dim8                        12.3905     0.8223  15.069  < 2e-16 ***
## n_dim9                        13.6080     0.8236  16.522  < 2e-16 ***
## n_dim10                       14.7798     0.8405  17.584  < 2e-16 ***
## n_dim11                       16.1317     0.8571  18.821  < 2e-16 ***
## n_dim12                       17.1424     0.8957  19.139  < 2e-16 ***
## n_dim13                       18.6475     0.8998  20.723  < 2e-16 ***
## n_dim14                       19.3904     0.9027  21.481  < 2e-16 ***
## n_dim15                       20.7404     0.9062  22.886  < 2e-16 ***
## n_dim16                       18.7452     0.9814  19.100  < 2e-16 ***
## n_dim17                       19.7863     0.9825  20.139  < 2e-16 ***
## n_dim18                       20.3161     0.9846  20.634  < 2e-16 ***
## n_dim19                       21.1171     0.9846  21.447  < 2e-16 ***
## n_dim20                       21.2923     0.9868  21.578  < 2e-16 ***
## n_obs262144                   -5.2210     0.8276  -6.309 2.94e-10 ***
## n_obs524288                   -4.6249     0.8276  -5.588 2.35e-08 ***
## n_obs1048576                   0.1574     0.9164   0.172  0.86359    
## n_obs2097152                  -1.1013     0.8276  -1.331  0.18332    
## n_obs4194304                  -0.1844     0.8023  -0.230  0.81825    
## n_obs8388608                   6.2762     0.7967   7.877 3.71e-15 ***
## n_obs16777216                 25.9337     0.8177  31.716  < 2e-16 ***
## n_obs33554432                 51.3045     0.9358  54.827  < 2e-16 ***
## n_obs67108864                 86.9081     1.3231  65.683  < 2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 14.59 on 9683 degrees of freedom
## Multiple R-squared:  0.7569, Adjusted R-squared:  0.7558 
## F-statistic: 685.3 on 44 and 9683 DF,  p-value: < 2.2e-16
##               Df  Sum Sq Mean Sq  F value Pr(>F)    
## method_name    1 3722968 3722968 17480.38 <2e-16 ***
## K             13   50972    3921    18.41 <2e-16 ***
## num_GPUs       3   52907   17636    82.80 <2e-16 ***
## n_dim         18   51951    2886    13.55 <2e-16 ***
## n_obs          9 2542810  282534  1326.58 <2e-16 ***
## Residuals   9683 2062283     213                    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Nota-se que, a um nível de significância de 5%, todas as variáveis aparentam influenciar no tempo total de execução. Devemos buscar então pela existência de interação entre as variáveis para que isso possa ser levado em conta no modelo.

Interações

Os gráficos abaixo são conhecidos como gráficos de interação e são responsáveis por apontar a existência de uma relação não aditiva entre as variáveis. Gráficos com linhas que apresentem espaçamentos contínuos ou com pouca variação indicam que as variáveis em questão não apresentam indicativo de interação.

Como notamos nos gráficos a cima, é possível que haja a existência de uma interação significativa entre as variáveis method_name (método de inicizalização utilizado) com todas as outras (K, n_obs, n_dim e num_GPUs). Inclui-se então, estas interações no modelo anterior para verificar sua significância.

##                        Df  Sum Sq Mean Sq  F value   Pr(>F)    
## method_name             1 3722968 3722968 49180.58  < 2e-16 ***
## num_GPUs                3   47828   15943   210.60  < 2e-16 ***
## n_dim                  18   50401    2800    36.99  < 2e-16 ***
## n_obs                   9 2504645  278294  3676.28  < 2e-16 ***
## K                      13   95766    7367    97.31  < 2e-16 ***
## method_name:num_GPUs    3  529348  176449  2330.90  < 2e-16 ***
## method_name:n_dim      18   15843     880    11.63  < 2e-16 ***
## method_name:n_obs       4  779349  194837  2573.81  < 2e-16 ***
## method_name:K          13    7617     586     7.74 1.55e-15 ***
## Residuals            9645  730126      76                      
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

No modelo notamos que ambas as interações indicadas pelos gráficos foram consideradas significativas. Podemos afirmar então, que todas as variáveis pertencentes ao modelo a cima possuem influência significativa no tempo total de execução. Um problema da ANOVA consiste no fato desta não comparar os diversos níveis de uma variável um a um. Ou seja, uma variável que possua três níveis pode apresentar diferença entre dois níveis específicos e não apresentar diferença significativa entre outros dois níveis. Para isso, utiliza-se o teste de comparações múltiplas de Tukey, que compara os níveis de todas as variáveis categóricas dois a dois, incluindo as interações existentes. Gerou-se uma tabela com os p-valores, bem como com os intervalos de confiança para as diferenças dos níveis das váriaveis categóricas, conforme segue abaixo.

Notamos na tabela a existência de alguns p-valores iguais a 0 ou a 1, isso se deve ao fato de o banco de dados não apresentar observações suficientes de todas as combinações possíveis, oque torna difícil a análise de interações nestes casos. Deve-se então tomar muito cuidado ao realizarmos qualquer conclusão com relações a estas combinações, sendo mais seguro não realizar qualquer afirmação que não seja: “não há dados suficientes para uma conclusão apurada destes casos”.

Teste de Dunn

Além disso, também aplicou-se um outro teste de comparações múltiplas, conhecido como teste de Dunn, para as variáveis num_GPUs (número de GPUs), K (número de partições), num_dim (número de dimensões), num_obs (número de observações). Este é um teste de comparações múltiplas para casos em que se analisa apenas duas variáveis, sendo uma quantitativa e outra categórica com 3 ou mais níveis. Basicamente, é uma comparação múltipla para quando o teste de Kruskall-Wallis aponta que há diferença entre pelo menos dois níveis da variável categórica.

## 
##  Kruskal-Wallis rank sum test
## 
## data:  dados$TotalTime by dados$method_name
## Kruskal-Wallis chi-squared = 4095.3, df = 1, p-value < 2.2e-16
## 
##  Kruskal-Wallis rank sum test
## 
## data:  dados$TotalTime by dados$num_GPUs
## Kruskal-Wallis chi-squared = 171.28, df = 3, p-value < 2.2e-16
## 
##  Kruskal-Wallis rank sum test
## 
## data:  dados$TotalTime by dados$K
## Kruskal-Wallis chi-squared = 125.01, df = 13, p-value < 2.2e-16
## 
##  Kruskal-Wallis rank sum test
## 
## data:  dados$TotalTime by dados$n_obs
## Kruskal-Wallis chi-squared = 8058.2, df = 9, p-value < 2.2e-16
## 
##  Kruskal-Wallis rank sum test
## 
## data:  dados$TotalTime by dados$n_dim
## Kruskal-Wallis chi-squared = 123.07, df = 18, p-value < 2.2e-16

Ajustando GLM

Após todos os procedimentos realizados, notamos que o teste de Dunn, bem como o teste de Kruskal-Wallis não acusam diferenças significativas entre os níveis da variável K, enquanto as comparações múltiplas de Tukey acusam que sim. Possivelmente isso se deve ao fato do teste de Tukey estar relacionado à Análise de Variância, que supões distribuição Normal para os dados, enquanto os demais testes são testes não paramétricos. Sendo assim, realizamos o teste de normalidade Anderson-Darling para os dados, onde a hipótese nula é \(H_o = Os \: dados \: seguem \: uma \: distribuição \: Normal.\).

## 
##  Anderson-Darling normality test
## 
## data:  dados$TotalTime
## A = 860.79, p-value < 2.2e-16

O p-valor retornado pelo teste foi de 3.710^{-24}, oque nos faz rejeitar a hipótese nula acima em favor da hipótese alternativa \(H_1 = Os \: dados \: não \: seguem \: uma \: distribuição \: Normal\). Sendo assim, tomamos um caminho diferente do anterior. Ressalta-se que os resultados anteriores não serão descartados como um todo devido à falta de Normalidade e sim que serão usados como comparação com o método a seguir, que consiste no ajuste de um modelo linear generalizado (GLM). Para ajustarmos o GLM mais adequado, devemos primeiro escolher a distribuição a qual os dados melhor se adequam.

Os valores de kurtosis e skewness para os dados são 17.816 e 3.045, respectivamente. Sabe-se que a skewness de uma distribuição Gamma é igual a \(2/\sqrt{k}\), onde \(k\) é um dos parâmetros da distribuição. Pelo método de máxima verossimilhança sabe-se que um estimador para o outro parâmetro, \(\theta\), pode ser encontrado pela fórmula \(\frac{1}{kN}\sum_{i=1}^{N}{x_i}\).

Sendo assim, suspeita-se que os dados sigam uma distribuição \(Gamma(k =\:\) 0.4314 , \(\theta = \:\) 54.2175 \()\).

Notamos pelos histogramas que realmente os dados apresentam uma distribuição que pode ser aproximada pela distribuição Gamma citada. Sendo assim, ajusta-se um GLM para estes dados.

## 
## Call:
## glm(formula = TotalTime ~ method_name + num_GPUs + K + n_dim + 
##     n_obs, family = Gamma(link = "log"), data = dados)
## 
## Deviance Residuals: 
##      Min        1Q    Median        3Q       Max  
## -0.72238  -0.21065  -0.03515   0.12014   1.27873  
## 
## Coefficients:
##                               Estimate Std. Error t value Pr(>|t|)    
## (Intercept)                   0.764045   0.019132  39.935  < 2e-16 ***
## method_namedistributedKMeans  0.844450   0.007806 108.182  < 2e-16 ***
## num_GPUs4                    -0.087906   0.008092 -10.863  < 2e-16 ***
## num_GPUs6                    -0.059340   0.008066  -7.357 2.04e-13 ***
## num_GPUs8                     0.010017   0.008065   1.242 0.214244    
## K3                            0.049654   0.014403   3.447 0.000568 ***
## K4                            0.099429   0.014403   6.903 5.40e-12 ***
## K5                            0.144855   0.014408  10.054  < 2e-16 ***
## K6                            0.185856   0.014448  12.863  < 2e-16 ***
## K7                            0.224109   0.014485  15.472  < 2e-16 ***
## K8                            0.262697   0.014538  18.070  < 2e-16 ***
## K9                            0.300176   0.014598  20.563  < 2e-16 ***
## K10                           0.335815   0.014626  22.960  < 2e-16 ***
## K11                           0.365682   0.014684  24.904  < 2e-16 ***
## K12                           0.398691   0.014731  27.065  < 2e-16 ***
## K13                           0.428892   0.014767  29.044  < 2e-16 ***
## K14                           0.459101   0.014817  30.986  < 2e-16 ***
## K15                           0.489171   0.014860  32.918  < 2e-16 ***
## n_dim3                        0.133204   0.013588   9.803  < 2e-16 ***
## n_dim4                        0.216751   0.014260  15.200  < 2e-16 ***
## n_dim5                        0.279282   0.014293  19.540  < 2e-16 ***
## n_dim6                        0.329049   0.014503  22.689  < 2e-16 ***
## n_dim7                        0.389176   0.014755  26.377  < 2e-16 ***
## n_dim8                        0.412338   0.015483  26.632  < 2e-16 ***
## n_dim9                        0.471918   0.015508  30.431  < 2e-16 ***
## n_dim10                       0.521946   0.015826  32.980  < 2e-16 ***
## n_dim11                       0.578545   0.016139  35.848  < 2e-16 ***
## n_dim12                       0.609651   0.016865  36.149  < 2e-16 ***
## n_dim13                       0.668769   0.016943  39.471  < 2e-16 ***
## n_dim14                       0.697609   0.016996  41.045  < 2e-16 ***
## n_dim15                       0.746273   0.017064  43.734  < 2e-16 ***
## n_dim16                       0.750806   0.018479  40.630  < 2e-16 ***
## n_dim17                       0.802379   0.018499  43.373  < 2e-16 ***
## n_dim18                       0.830992   0.018539  44.823  < 2e-16 ***
## n_dim19                       0.866232   0.018539  46.724  < 2e-16 ***
## n_dim20                       0.877269   0.018580  47.216  < 2e-16 ***
## n_obs262144                  -0.135422   0.015583  -8.691  < 2e-16 ***
## n_obs524288                  -0.013712   0.015583  -0.880 0.378897    
## n_obs1048576                  0.240882   0.017255  13.960  < 2e-16 ***
## n_obs2097152                  0.502172   0.015583  32.226  < 2e-16 ***
## n_obs4194304                  0.906252   0.015107  59.988  < 2e-16 ***
## n_obs8388608                  1.382728   0.015002  92.170  < 2e-16 ***
## n_obs16777216                 1.925749   0.015396 125.077  < 2e-16 ***
## n_obs33554432                 2.447589   0.017620 138.913  < 2e-16 ***
## n_obs67108864                 2.958566   0.024914 118.753  < 2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for Gamma family taken to be 0.07550956)
## 
##     Null deviance: 11582.27  on 9727  degrees of freedom
## Residual deviance:   664.49  on 9683  degrees of freedom
## AIC: 51451
## 
## Number of Fisher Scoring iterations: 7
## 
## Call:
## glm(formula = TotalTime ~ method_name * num_GPUs + method_name * 
##     n_dim + method_name * n_obs, family = Gamma(link = "log"), 
##     data = dados)
## 
## Deviance Residuals: 
##      Min        1Q    Median        3Q       Max  
## -0.86751  -0.17013  -0.01999   0.12366   0.89728  
## 
## Coefficients: (5 not defined because of singularities)
##                                             Estimate Std. Error t value
## (Intercept)                                 0.858508   0.015730  54.577
## method_namedistributedKMeans                1.878779   0.039318  47.784
## num_GPUs4                                   0.085023   0.008122  10.469
## num_GPUs6                                   0.191565   0.008100  23.651
## num_GPUs8                                   0.301236   0.008100  37.191
## n_dim3                                      0.099493   0.014649   6.792
## n_dim4                                      0.153585   0.015161  10.130
## n_dim5                                      0.227893   0.015185  15.007
## n_dim6                                      0.276949   0.015227  18.188
## n_dim7                                      0.340093   0.015270  22.272
## n_dim8                                      0.360688   0.015726  22.935
## n_dim9                                      0.424719   0.015736  26.990
## n_dim10                                     0.473383   0.016107  29.390
## n_dim11                                     0.538625   0.016470  32.703
## n_dim12                                     0.573276   0.017351  33.039
## n_dim13                                     0.635148   0.017402  36.499
## n_dim14                                     0.664732   0.017436  38.125
## n_dim15                                     0.714959   0.017488  40.883
## n_dim16                                     0.712060   0.018337  38.832
## n_dim17                                     0.765704   0.018337  41.757
## n_dim18                                     0.795923   0.018359  43.354
## n_dim19                                     0.832126   0.018359  45.326
## n_dim20                                     0.842830   0.018381  45.853
## n_obs262144                                -0.123520   0.013833  -8.930
## n_obs524288                                 0.007877   0.013833   0.569
## n_obs1048576                                0.270441   0.015230  17.757
## n_obs2097152                                0.552456   0.013833  39.939
## n_obs4194304                                0.998058   0.013833  72.152
## n_obs8388608                                1.485497   0.013894 106.917
## n_obs16777216                               1.933828   0.014689 131.653
## n_obs33554432                               2.300225   0.018284 125.805
## n_obs67108864                               2.674511   0.028569  93.616
## method_namedistributedKMeans:num_GPUs4     -0.549061   0.017001 -32.296
## method_namedistributedKMeans:num_GPUs6     -0.860526   0.016912 -50.884
## method_namedistributedKMeans:num_GPUs8     -1.080628   0.016907 -63.916
## method_namedistributedKMeans:n_dim3         0.110189   0.025460   4.328
## method_namedistributedKMeans:n_dim4         0.210134   0.027150   7.740
## method_namedistributedKMeans:n_dim5         0.192715   0.027237   7.076
## method_namedistributedKMeans:n_dim6         0.170946   0.028167   6.069
## method_namedistributedKMeans:n_dim7         0.175379   0.029737   5.898
## method_namedistributedKMeans:n_dim8         0.183132   0.032951   5.558
## method_namedistributedKMeans:n_dim9         0.180220   0.033121   5.441
## method_namedistributedKMeans:n_dim10        0.163844   0.033383   4.908
## method_namedistributedKMeans:n_dim11        0.145411   0.033727   4.311
## method_namedistributedKMeans:n_dim12        0.126970   0.034429   3.688
## method_namedistributedKMeans:n_dim13        0.127763   0.034733   3.678
## method_namedistributedKMeans:n_dim14        0.121029   0.034942   3.464
## method_namedistributedKMeans:n_dim15        0.117420   0.035168   3.339
## method_namedistributedKMeans:n_dim16        0.134676   0.042652   3.158
## method_namedistributedKMeans:n_dim17        0.135895   0.042929   3.166
## method_namedistributedKMeans:n_dim18        0.131699   0.043227   3.047
## method_namedistributedKMeans:n_dim19        0.133313   0.043227   3.084
## method_namedistributedKMeans:n_dim20        0.138146   0.043535   3.173
## method_namedistributedKMeans:n_obs262144          NA         NA      NA
## method_namedistributedKMeans:n_obs524288          NA         NA      NA
## method_namedistributedKMeans:n_obs1048576         NA         NA      NA
## method_namedistributedKMeans:n_obs2097152         NA         NA      NA
## method_namedistributedKMeans:n_obs4194304  -0.775700   0.040952 -18.942
## method_namedistributedKMeans:n_obs8388608  -0.694088   0.039970 -17.365
## method_namedistributedKMeans:n_obs16777216 -0.520820   0.040207 -12.953
## method_namedistributedKMeans:n_obs33554432 -0.254589   0.042154  -6.040
## method_namedistributedKMeans:n_obs67108864        NA         NA      NA
##                                            Pr(>|t|)    
## (Intercept)                                 < 2e-16 ***
## method_namedistributedKMeans                < 2e-16 ***
## num_GPUs4                                   < 2e-16 ***
## num_GPUs6                                   < 2e-16 ***
## num_GPUs8                                   < 2e-16 ***
## n_dim3                                     1.17e-11 ***
## n_dim4                                      < 2e-16 ***
## n_dim5                                      < 2e-16 ***
## n_dim6                                      < 2e-16 ***
## n_dim7                                      < 2e-16 ***
## n_dim8                                      < 2e-16 ***
## n_dim9                                      < 2e-16 ***
## n_dim10                                     < 2e-16 ***
## n_dim11                                     < 2e-16 ***
## n_dim12                                     < 2e-16 ***
## n_dim13                                     < 2e-16 ***
## n_dim14                                     < 2e-16 ***
## n_dim15                                     < 2e-16 ***
## n_dim16                                     < 2e-16 ***
## n_dim17                                     < 2e-16 ***
## n_dim18                                     < 2e-16 ***
## n_dim19                                     < 2e-16 ***
## n_dim20                                     < 2e-16 ***
## n_obs262144                                 < 2e-16 ***
## n_obs524288                                0.569081    
## n_obs1048576                                < 2e-16 ***
## n_obs2097152                                < 2e-16 ***
## n_obs4194304                                < 2e-16 ***
## n_obs8388608                                < 2e-16 ***
## n_obs16777216                               < 2e-16 ***
## n_obs33554432                               < 2e-16 ***
## n_obs67108864                               < 2e-16 ***
## method_namedistributedKMeans:num_GPUs4      < 2e-16 ***
## method_namedistributedKMeans:num_GPUs6      < 2e-16 ***
## method_namedistributedKMeans:num_GPUs8      < 2e-16 ***
## method_namedistributedKMeans:n_dim3        1.52e-05 ***
## method_namedistributedKMeans:n_dim4        1.10e-14 ***
## method_namedistributedKMeans:n_dim5        1.59e-12 ***
## method_namedistributedKMeans:n_dim6        1.33e-09 ***
## method_namedistributedKMeans:n_dim7        3.81e-09 ***
## method_namedistributedKMeans:n_dim8        2.81e-08 ***
## method_namedistributedKMeans:n_dim9        5.42e-08 ***
## method_namedistributedKMeans:n_dim10       9.35e-07 ***
## method_namedistributedKMeans:n_dim11       1.64e-05 ***
## method_namedistributedKMeans:n_dim12       0.000227 ***
## method_namedistributedKMeans:n_dim13       0.000236 ***
## method_namedistributedKMeans:n_dim14       0.000535 ***
## method_namedistributedKMeans:n_dim15       0.000844 ***
## method_namedistributedKMeans:n_dim16       0.001596 ** 
## method_namedistributedKMeans:n_dim17       0.001553 ** 
## method_namedistributedKMeans:n_dim18       0.002320 ** 
## method_namedistributedKMeans:n_dim19       0.002048 ** 
## method_namedistributedKMeans:n_dim20       0.001512 ** 
## method_namedistributedKMeans:n_obs262144         NA    
## method_namedistributedKMeans:n_obs524288         NA    
## method_namedistributedKMeans:n_obs1048576        NA    
## method_namedistributedKMeans:n_obs2097152        NA    
## method_namedistributedKMeans:n_obs4194304   < 2e-16 ***
## method_namedistributedKMeans:n_obs8388608   < 2e-16 ***
## method_namedistributedKMeans:n_obs16777216  < 2e-16 ***
## method_namedistributedKMeans:n_obs33554432 1.60e-09 ***
## method_namedistributedKMeans:n_obs67108864       NA    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for Gamma family taken to be 0.05870784)
## 
##     Null deviance: 11582.27  on 9727  degrees of freedom
## Residual deviance:   560.55  on 9671  degrees of freedom
## AIC: 49803
## 
## Number of Fisher Scoring iterations: 6

Para o modelo ajustado, calculou-se os valores preditos e o erro quadrático médio.

## [1] "MSE = 0.059"
CMeans

Analisando os p-valores dos testes de Kruskal-Wallis e de Dunn apenas para o método CMeans:

## 
##  Kruskal-Wallis rank sum test
## 
## data:  cmeans$TotalTime by cmeans$num_GPUs
## Kruskal-Wallis chi-squared = 424.57, df = 3, p-value < 2.2e-16
## 
##  Kruskal-Wallis rank sum test
## 
## data:  cmeans$TotalTime by cmeans$K
## Kruskal-Wallis chi-squared = 210.75, df = 13, p-value < 2.2e-16
## 
##  Kruskal-Wallis rank sum test
## 
## data:  cmeans$TotalTime by cmeans$n_obs
## Kruskal-Wallis chi-squared = 5897.4, df = 9, p-value < 2.2e-16
## 
##  Kruskal-Wallis rank sum test
## 
## data:  cmeans$TotalTime by cmeans$n_dim
## Kruskal-Wallis chi-squared = 337.4, df = 18, p-value < 2.2e-16