6 GrĂŒnde, warum Sie Balkendiagramme vermeiden sollten


Systematische Fehler sind Histogrammen nicht fremd. Tatsache ist, dass sie eher willkĂŒrlich sind und zu falschen Schlussfolgerungen ĂŒber die Daten fĂŒhren können. Wenn Sie die Variable visualisieren möchten, ist es besser, ein anderes Diagramm auszuwĂ€hlen.





UnabhĂ€ngig davon, ob Sie sich in einer Besprechung mit FĂŒhrungskrĂ€ften oder Datenwissenschaftlern befinden, können Sie sicher sein, dass irgendwann ein Balkendiagramm angezeigt wird.





. : . , , ? .





— ​​ !





6 , , , :





  1. .





  2. .





  3. .





  4. .





  5. .





  6. , .





«, : . ?» !





, CDP, .





, ?

1. .

, , (bins). ( ). ? , .





( ), 303 ( UCI : ).





Wie sich das Histogramm Àndert, wenn sich die Anzahl der FÀcher Àndert.  [Zeichnung des Autors]
. [ ]

( Python R), (). , . .





2. .

, , . , , . , .





, , .





Wie sich das Histogramm Àndert, wenn sich der Maximalwert Àndert.  [Zeichnung des Autors]
. [ ]

, . , : !





3. .

, , . , , «» .





, 0. , 10 , 26% — .





Gleiche Daten, unterschiedliche BehÀlterbreite.  Es ist unmöglich, im linken Diagramm eine hohe Konzentration von Nullen zu finden.  [Zeichnung des Autors]
, . . [ ]

— , Python. , , , «» .





. , , , 0 - .





4. .

, . .





«» (Age). = 49 ( ) = 49,828884325804246 ( , 365,25). — , — .





Links ist eine stetige Variable.  Rechts ist eine diskrete Variable.  In den oberen Darstellungen sehen sie jedoch gleich aus.  [Zeichnung des Autors]
. . . [ ]

, , , , , . ( Python) : .





5. .

. , UCI , , :





  • ( )





  • 50





  • 50





  • 60





  • 60 .





:





Vergleich von Histogrammen.  [Zeichnung des Autors]
. [ ]

, , , , .





6. , .

Excel, R Python, : Excel , R — hist(x), Python — plt.hist().





, . , , ? , , , , . :





| INTERVAL_LEFT | INTERVAL_RIGHT | COUNT         |





|---------------|----------------|---------------|





| 75.0          | 87.0           | 31            |





| 87.0          | 99.0           | 52            |





| 99.0          | 111.0          | 76            |





| ...           | ...            | ...           |





SQL- , . , Google Big Query :





WITH
STATS AS (
  SELECT 
    COUNT(*) AS N,
    APPROX_QUANTILES(VARIABLE_NAME, 4) AS QUARTILES
  FROM
    TABLE_NAME
),
BIN_WIDTH AS (
  SELECT
    -- freedman-diaconis formula for calculating the bin width
    (QUARTILES[OFFSET(4)] — QUARTILES[OFFSET(0)]) / ROUND((QUARTILES[OFFSET(4)] — QUARTILES[OFFSET(0)]) / (2 * (QUARTILES[OFFSET(3)] — QUARTILES[OFFSET(1)]) / POW(N, 1/3)) + .5) AS FD
  FROM 
    STATS
),
HIST AS (
  SELECT 
    FLOOR((TABLE_NAME.VARIABLE_NAME — STATS.QUARTILES[OFFSET(0)]) / BIN_WIDTH.FD) AS INTERVAL_ID,
    COUNT(*) AS COUNT
  FROM 
    TABLE_NAME,
    STATS,
    BIN_WIDTH
  GROUP BY 
    1
)
SELECT 
  STATS.QUARTILES[OFFSET(0)] + BIN_WIDTH.FD * HIST.INTERVAL_ID AS INTERVAL_LEFT,
  STATS.QUARTILES[OFFSET(0)] + BIN_WIDTH.FD * (HIST.INTERVAL_ID + 1) AS INTERVAL_RIGHT,
  HIST.COUNT
FROM 
  HIST, 
  STATS, 
  BIN_WIDTH
      
      



, ?





: .

6 , , : « ?» : , « » (Cumulative Distribution Plot - CDP). , , , .





— . , CDP :





  • x: ( );





  • y: .





— .





Diagramm der kumulativen Verteilung der maximalen Herzfrequenz.  [Zeichnung des Autors]
. [ ]

x = 140 y = 90 (30%). : 140 . , 140 ( 90 , 30% ). , 30% 140 .





, , « » ? «»? . , ( , ). , CDP , , .





CDP . , , « 140 160?» « 180?». CDP, . .





CDP , . , :





1. . , CDP.





2. . CDP, .





3. . - , , , .





4. . (.. ), , .





5. . , , . , y 0 100%, . , , :





Vergleich der Verteilungen in CDP.  [Zeichnung des Autors]
CDP. [ ]

6. , . , , , SQL:





SELECT 
  COUNT(*) AS N,
  APPROX_QUANTILES(VARIABLE_NAME, 100) AS PERCENTILES
FROM
  TABLE_NAME
      
      



Excel, R, Python

Excel . 101 , 0 1. , : =PERCENTILE(DATA, FRAC), DATA - , , FRAC - : 0,00, 0,01, 0,02, 0,03,
, 0,98, 0,99, 1. , x.





R :





plot(ecdf(data))
      
      



Python:





from statsmodels.distributions.empirical_distribution import ECDF
import matplotlib.pyplot as plt
ecdf = ECDF(data)
plt.plot(ecdf.x, ecdf.y)
      
      



! , .





. , Linkedin.






- "Machine Learning. Basic". , .





- "Machine Learning. Basic"





- - " "








All Articles