Все курсы > Вводный курс > Занятие 10
На восьмом занятии мы рассмотрели качественные и количественные переменные. Однако мы изучали их изолированно, каждую переменную отдельно.
На самом деле переменные могут быть связаны между собой. И эту взаимосвязь очень интересно изучать. Рассмотрим несколько примеров.
Вначале откроем ноутбук к этому занятию⧉
Пример: рост мужчин и женщин в России
Вначале продолжим пример с ростом, однако теперь введем ещё одну переменную, пол, и посмотрим, повляет ли это на распределение данных.
1 2 |
# импортируем модуль pyplot из библиотеки matplotlib import matplotlib.pyplot as plt |
1 2 3 |
# теперь у нас два набора данных: мужчины и женщины [185.0, 179.0, 186.0, 195.0, 178.0, 178.0, 196.0, 188.0, 175.0, 185.0, 175.0, 175.0, 182.0, 161.0, 163.0, 174.0, 170.0, 183.0, 171.0, 166.0, 195.0, 178.0, 181.0, 166.0, 175.0, 181.0, 168.0, 184.0, 174.0, 177.0, 174.0, 199.0, 180.0, 169.0, 188.0, 168.0, 182.0, 160.0, 167.0, 182.0, 187.0, 182.0, 179.0, 177.0, 165.0, 173.0, 175.0, 191.0, 183.0, 162.0, 183.0, 176.0, 173.0, 186.0, 190.0, 189.0, 172.0, 177.0, 183.0, 190.0, 175.0, 178.0, 169.0, 168.0, 188.0, 194.0, 179.0, 190.0, 184.0, 174.0, 184.0, 195.0, 180.0, 196.0, 154.0, 188.0, 181.0, 177.0, 181.0, 160.0, 178.0, 184.0, 195.0, 175.0, 172.0, 175.0, 189.0, 183.0, 175.0, 185.0, 181.0, 190.0, 173.0, 177.0, 176.0, 165.0, 183.0, 183.0, 180.0, 178.0, 166.0, 176.0, 177.0, 172.0, 178.0, 184.0, 199.0, 182.0, 183.0, 179.0, 161.0, 180.0, 181.0, 205.0, 178.0, 183.0, 180.0, 168.0, 191.0, 188.0, 188.0, 171.0, 194.0, 166.0, 186.0, 202.0, 170.0, 174.0, 181.0, 175.0, 164.0, 181.0, 169.0, 185.0, 171.0, 195.0, 172.0, 177.0, 188.0, 168.0, 182.0, 193.0, 164.0, 182.0, 183.0, 188.0, 168.0, 167.0, 185.0, 183.0, 183.0, 183.0, 173.0, 182.0, 183.0, 173.0, 199.0, 185.0, 168.0, 187.0, 170.0, 188.0, 192.0, 172.0, 190.0, 184.0, 188.0, 199.0, 178.0, 172.0, 171.0, 172.0, 179.0, 183.0, 183.0, 188.0, 180.0, 195.0, 177.0, 207.0, 186.0, 171.0, 169.0, 185.0, 178.0, 187.0, 185.0, 179.0, 172.0, 165.0, 176.0, 189.0, 182.0, 168.0, 182.0, 184.0, 171.0, 182.0, 181.0, 169.0, 184.0, 186.0, 191.0, 191.0, 166.0, 171.0, 185.0, 185.0, 185.0, 219.0, 186.0, 191.0, 190.0, 187.0, 177.0, 188.0, 172.0, 178.0, 175.0, 181.0, 203.0, 161.0, 187.0, 164.0, 175.0, 191.0, 181.0, 169.0, 173.0, 187.0, 173.0, 182.0, 180.0, 173.0, 201.0, 186.0, 160.0, 182.0, 173.0, 189.0, 172.0, 179.0, 185.0, 189.0, 168.0, 177.0, 175.0, 173.0, 198.0, 184.0, 167.0, 189.0, 201.0, 190.0, 165.0, 175.0, 193.0, 173.0, 184.0, 188.0, 171.0, 179.0, 148.0, 170.0, 177.0, 168.0, 196.0, 166.0, 176.0, 181.0, 194.0, 166.0, 192.0, 180.0, 170.0, 185.0, 182.0, 174.0, 181.0, 176.0, 181.0, 187.0, 196.0, 168.0, 201.0, 160.0, 178.0, 186.0, 183.0, 174.0, 178.0, 175.0, 174.0, 188.0, 184.0, 173.0, 189.0, 183.0, 188.0, 186.0, 172.0, 174.0, 187.0, 186.0, 180.0, 181.0, 193.0, 174.0, 185.0, 178.0, 178.0, 191.0, 188.0, 188.0, 193.0, 180.0, 187.0, 177.0, 183.0, 179.0, 181.0, 186.0, 172.0, 201.0, 170.0, 168.0, 192.0, 188.0, 186.0, 186.0, 180.0, 171.0, 181.0, 173.0, 190.0, 179.0, 172.0, 177.0, 184.0, 174.0, 172.0, 182.0, 182.0, 175.0, 175.0, 182.0, 166.0, 166.0, 173.0, 178.0, 183.0, 195.0, 189.0, 178.0, 180.0, 170.0, 180.0, 177.0, 183.0, 172.0, 185.0, 195.0, 179.0, 184.0, 187.0, 176.0, 182.0, 180.0, 181.0, 172.0, 180.0, 185.0, 195.0, 190.0, 202.0, 172.0, 189.0, 182.0, 202.0, 172.0, 172.0, 174.0, 159.0, 175.0, 172.0, 182.0, 183.0, 199.0, 190.0, 174.0, 171.0, 185.0, 167.0, 198.0, 192.0, 175.0, 163.0, 194.0, 179.0, 192.0, 164.0, 174.0, 180.0, 180.0, 175.0, 186.0, 169.0, 179.0, 181.0, 185.0, 187.0, 169.0, 165.0, 193.0, 183.0, 173.0, 196.0, 181.0, 192.0, 181.0, 201.0, 198.0, 178.0, 190.0, 186.0, 194.0, 170.0, 187.0, 191.0, 162.0, 168.0, 160.0, 177.0, 187.0, 195.0, 181.0, 196.0, 166.0, 163.0, 179.0, 184.0, 180.0, 159.0, 179.0, 167.0, 187.0, 184.0, 171.0, 175.0, 169.0, 179.0, 190.0, 170.0, 185.0, 175.0, 172.0, 179.0, 170.0, 174.0, 168.0, 200.0, 180.0, 173.0, 182.0, 179.0, 178.0, 186.0, 188.0, 175.0, 174.0, 177.0, 157.0, 165.0, 194.0, 196.0, 178.0, 186.0, 183.0, 211.0, 191.0, 179.0, 170.0, 164.0, 182.0, 172.0, 166.0, 174.0, 169.0, 197.0, 189.0, 180.0, 195.0, 181.0, 171.0, 195.0, 185.0, 170.0, 178.0, 171.0, 166.0, 189.0, 199.0, 166.0, 186.0, 173.0, 175.0, 174.0, 171.0, 180.0, 172.0, 183.0, 179.0, 178.0, 171.0, 174.0, 188.0, 185.0, 170.0, 181.0, 188.0, 163.0, 185.0, 173.0, 186.0, 172.0, 162.0, 164.0, 180.0, 183.0, 171.0, 186.0, 163.0, 179.0, 168.0, 173.0, 180.0, 171.0, 176.0, 190.0, 174.0, 188.0, 169.0, 185.0, 194.0, 155.0, 172.0, 186.0, 178.0, 184.0, 174.0, 181.0, 178.0, 192.0, 183.0, 183.0, 176.0, 175.0, 176.0, 184.0, 176.0, 183.0, 201.0, 189.0, 177.0, 192.0, 176.0, 160.0, 170.0, 161.0, 176.0, 180.0, 197.0, 183.0, 178.0, 188.0, 158.0, 182.0, 188.0, 165.0, 191.0, 183.0, 176.0, 186.0, 203.0, 182.0, 182.0, 175.0, 172.0, 188.0, 171.0, 181.0, 175.0, 185.0, 183.0, 190.0, 175.0, 177.0, 170.0, 176.0, 184.0, 188.0, 171.0, 189.0, 194.0, 184.0, 199.0, 172.0, 168.0, 162.0, 195.0, 187.0, 179.0, 183.0, 169.0, 204.0, 181.0, 181.0, 187.0, 185.0, 182.0, 172.0, 185.0, 199.0, 193.0, 196.0, 175.0, 170.0, 179.0, 181.0, 191.0, 163.0, 195.0, 178.0, 176.0, 170.0, 163.0, 188.0, 181.0, 167.0, 167.0, 177.0, 197.0, 177.0, 165.0, 178.0, 177.0, 153.0, 179.0, 178.0, 187.0, 198.0, 191.0, 177.0, 169.0, 206.0, 181.0, 180.0, 180.0, 182.0, 179.0, 174.0, 175.0, 180.0, 175.0, 173.0, 181.0, 177.0, 195.0, 153.0, 191.0, 192.0, 159.0, 177.0, 176.0, 166.0, 172.0, 169.0, 198.0, 189.0, 193.0, 187.0, 169.0, 175.0, 185.0, 168.0, 187.0, 178.0, 176.0, 187.0, 184.0, 176.0, 192.0, 169.0, 186.0, 186.0, 177.0, 183.0, 167.0, 189.0, 178.0, 175.0, 190.0, 173.0, 166.0, 164.0, 186.0, 167.0, 198.0, 159.0, 197.0, 182.0, 179.0, 175.0, 184.0, 180.0, 191.0, 181.0, 182.0, 176.0, 179.0, 183.0, 163.0, 167.0, 187.0, 182.0, 178.0, 180.0, 183.0, 175.0, 172.0, 182.0, 170.0, 184.0, 163.0, 190.0, 185.0, 183.0, 190.0, 197.0, 190.0, 162.0, 167.0, 174.0, 180.0, 185.0, 173.0, 182.0, 172.0, 174.0, 166.0, 171.0, 166.0, 170.0, 191.0, 171.0, 206.0, 185.0, 182.0, 171.0, 187.0, 174.0, 181.0, 206.0, 179.0, 191.0, 173.0, 180.0, 198.0, 174.0, 198.0, 187.0, 174.0, 186.0, 190.0, 186.0, 164.0, 173.0, 178.0, 179.0, 186.0, 182.0, 167.0, 184.0, 186.0, 186.0, 191.0, 188.0, 185.0, 179.0, 163.0, 184.0, 182.0, 183.0, 167.0, 169.0, 191.0, 180.0, 187.0, 180.0, 180.0, 189.0, 175.0, 181.0, 175.0, 176.0, 177.0, 182.0, 175.0, 193.0, 171.0, 178.0, 176.0, 194.0, 182.0, 190.0, 165.0, 183.0, 189.0, 181.0, 191.0, 175.0, 194.0, 203.0, 176.0, 176.0, 195.0, 196.0, 175.0, 176.0, 177.0, 167.0, 171.0, 170.0, 172.0, 180.0, 182.0, 196.0, 170.0, 190.0, 178.0, 180.0, 187.0, 169.0, 184.0, 182.0, 185.0, 183.0, 205.0, 174.0, 175.0, 174.0, 174.0, 174.0, 192.0, 194.0, 174.0, 172.0, 185.0, 174.0, 186.0, 182.0, 165.0, 195.0, 198.0, 174.0, 176.0, 183.0, 183.0, 187.0, 200.0, 178.0, 172.0, 166.0, 173.0, 180.0, 198.0, 175.0, 182.0, 180.0, 192.0, 205.0, 175.0, 175.0, 190.0, 187.0, 198.0, 186.0, 176.0, 186.0, 191.0, 188.0, 185.0, 191.0, 192.0, 194.0, 186.0, 178.0, 181.0, 192.0, 172.0, 184.0, 176.0, 180.0, 193.0, 182.0, 180.0, 166.0, 187.0, 186.0, 202.0, 177.0, 182.0, 182.0, 196.0, 179.0, 183.0, 186.0, 182.0, 176.0, 182.0, 191.0, 170.0, 181.0, 173.0, 192.0, 165.0, 174.0, 184.0, 196.0, 179.0, 174.0, 199.0, 166.0, 158.0, 184.0, 175.0, 170.0, 187.0, 182.0, 174.0, 167.0, 189.0, 187.0, 179.0, 198.0, 169.0, 165.0, 173.0, 180.0, 182.0, 178.0, 184.0, 167.0, 194.0, 179.0, 191.0, 183.0, 185.0, 186.0, 184.0, 186.0, 193.0, 182.0, 187.0, 179.0, 194.0, 173.0, 198.0, 180.0, 166.0, 181.0, 173.0, 188.0, 173.0, 176.0, 161.0, 175.0, 156.0, 164.0, 188.0, 188.0, 184.0, 170.0, 180.0, 180.0, 168.0, 195.0, 189.0, 178.0, 180.0, 182.0, 160.0, 178.0, 173.0, 170.0, 177.0, 198.0, 186.0, 174.0, 186.0] [174.0, 169.0, 161.0, 154.0, 167.0, 164.0, 169.0, 166.0, 170.0, 155.0, 173.0, 162.0, 181.0, 153.0, 177.0, 162.0, 153.0, 155.0, 157.0, 164.0, 165.0, 154.0, 160.0, 181.0, 177.0, 164.0, 160.0, 161.0, 166.0, 150.0, 157.0, 143.0, 164.0, 166.0, 155.0, 176.0, 148.0, 145.0, 162.0, 170.0, 177.0, 155.0, 171.0, 160.0, 158.0, 169.0, 167.0, 144.0, 175.0, 174.0, 154.0, 164.0, 165.0, 163.0, 154.0, 153.0, 160.0, 172.0, 165.0, 156.0, 168.0, 132.0, 171.0, 143.0, 156.0, 149.0, 147.0, 172.0, 155.0, 163.0, 160.0, 165.0, 161.0, 147.0, 170.0, 155.0, 144.0, 156.0, 175.0, 169.0, 157.0, 157.0, 157.0, 181.0, 164.0, 164.0, 170.0, 162.0, 157.0, 158.0, 159.0, 160.0, 167.0, 161.0, 167.0, 159.0, 161.0, 140.0, 169.0, 163.0, 170.0, 131.0, 181.0, 159.0, 171.0, 150.0, 166.0, 149.0, 154.0, 179.0, 158.0, 162.0, 169.0, 165.0, 162.0, 164.0, 184.0, 159.0, 162.0, 171.0, 171.0, 172.0, 166.0, 149.0, 176.0, 149.0, 163.0, 152.0, 159.0, 163.0, 163.0, 164.0, 176.0, 165.0, 158.0, 170.0, 172.0, 148.0, 166.0, 167.0, 157.0, 174.0, 158.0, 161.0, 158.0, 160.0, 149.0, 146.0, 176.0, 152.0, 150.0, 138.0, 154.0, 147.0, 176.0, 170.0, 153.0, 183.0, 170.0, 157.0, 135.0, 183.0, 146.0, 144.0, 170.0, 184.0, 174.0, 166.0, 166.0, 169.0, 168.0, 163.0, 161.0, 159.0, 152.0, 157.0, 143.0, 159.0, 150.0, 149.0, 162.0, 174.0, 169.0, 144.0, 150.0, 169.0, 150.0, 158.0, 166.0, 150.0, 161.0, 147.0, 154.0, 163.0, 144.0, 164.0, 160.0, 166.0, 162.0, 174.0, 161.0, 156.0, 161.0, 165.0, 160.0, 160.0, 153.0, 153.0, 146.0, 177.0, 148.0, 153.0, 153.0, 169.0, 157.0, 172.0, 153.0, 163.0, 152.0, 181.0, 148.0, 163.0, 166.0, 164.0, 158.0, 159.0, 160.0, 159.0, 170.0, 182.0, 154.0, 146.0, 159.0, 186.0, 152.0, 176.0, 177.0, 154.0, 166.0, 176.0, 156.0, 158.0, 154.0, 150.0, 154.0, 148.0, 160.0, 152.0, 162.0, 144.0, 163.0, 168.0, 140.0, 164.0, 172.0, 148.0, 177.0, 164.0, 153.0, 159.0, 166.0, 161.0, 165.0, 151.0, 162.0, 146.0, 159.0, 151.0, 153.0, 172.0, 171.0, 166.0, 149.0, 157.0, 172.0, 161.0, 183.0, 164.0, 162.0, 157.0, 161.0, 158.0, 167.0, 170.0, 152.0, 147.0, 142.0, 165.0, 149.0, 138.0, 164.0, 185.0, 160.0, 168.0, 161.0, 159.0, 169.0, 157.0, 163.0, 163.0, 153.0, 170.0, 158.0, 152.0, 165.0, 151.0, 160.0, 160.0, 171.0, 165.0, 160.0, 168.0, 174.0, 166.0, 160.0, 147.0, 149.0, 157.0, 154.0, 158.0, 161.0, 165.0, 159.0, 165.0, 161.0, 140.0, 151.0, 159.0, 148.0, 166.0, 175.0, 172.0, 158.0, 175.0, 161.0, 157.0, 154.0, 157.0, 156.0, 162.0, 162.0, 160.0, 164.0, 172.0, 169.0, 145.0, 134.0, 169.0, 146.0, 158.0, 148.0, 142.0, 165.0, 168.0, 154.0, 134.0, 155.0, 164.0, 145.0, 162.0, 160.0, 166.0, 161.0, 150.0, 172.0, 158.0, 160.0, 151.0, 156.0, 151.0, 158.0, 177.0, 146.0, 144.0, 175.0, 158.0, 153.0, 170.0, 154.0, 178.0, 167.0, 155.0, 182.0, 154.0, 167.0, 163.0, 173.0, 176.0, 160.0, 152.0, 165.0, 153.0, 180.0, 161.0, 156.0, 162.0, 147.0, 150.0, 172.0, 153.0, 150.0, 165.0, 172.0, 167.0, 170.0, 152.0, 146.0, 175.0, 157.0, 157.0, 173.0, 166.0, 165.0, 182.0, 154.0, 169.0, 161.0, 163.0, 175.0, 165.0, 165.0, 171.0, 156.0, 152.0, 150.0, 140.0, 181.0, 149.0, 158.0, 157.0, 163.0, 168.0, 169.0, 154.0, 158.0, 163.0, 158.0, 176.0, 165.0, 167.0, 167.0, 172.0, 162.0, 147.0, 164.0, 153.0, 155.0, 166.0, 172.0, 160.0, 163.0, 177.0, 162.0, 186.0, 166.0, 142.0, 168.0, 164.0, 173.0, 167.0, 159.0, 148.0, 158.0, 151.0, 154.0, 166.0, 177.0, 164.0, 148.0, 164.0, 172.0, 154.0, 159.0, 160.0, 152.0, 166.0, 159.0, 164.0, 151.0, 156.0, 167.0, 156.0, 177.0, 156.0, 162.0, 169.0, 146.0, 142.0, 145.0, 173.0, 154.0, 186.0, 154.0, 162.0, 175.0, 180.0, 181.0, 172.0, 170.0, 166.0, 168.0, 154.0, 152.0, 160.0, 158.0, 155.0, 167.0, 170.0, 161.0, 175.0, 149.0, 158.0, 153.0, 141.0, 159.0, 159.0, 175.0, 166.0, 150.0, 179.0, 172.0, 166.0, 158.0, 150.0, 156.0, 171.0, 179.0, 175.0, 155.0, 149.0, 161.0, 142.0, 163.0, 159.0, 155.0, 144.0, 165.0, 155.0, 148.0, 131.0, 160.0, 178.0, 177.0, 155.0, 154.0, 165.0, 150.0, 163.0, 168.0, 172.0, 159.0, 158.0, 151.0, 152.0, 158.0, 164.0, 169.0, 152.0, 175.0, 157.0, 160.0, 153.0, 136.0, 169.0, 167.0, 157.0, 161.0, 165.0, 144.0, 155.0, 168.0, 147.0, 163.0, 146.0, 165.0, 160.0, 144.0, 172.0, 153.0, 152.0, 162.0, 171.0, 150.0, 161.0, 164.0, 167.0, 162.0, 156.0, 152.0, 161.0, 149.0, 131.0, 164.0, 169.0, 136.0, 150.0, 166.0, 181.0, 160.0, 153.0, 158.0, 174.0, 154.0, 152.0, 155.0, 150.0, 161.0, 176.0, 163.0, 157.0, 157.0, 144.0, 169.0, 159.0, 158.0, 192.0, 163.0, 152.0, 156.0, 171.0, 161.0, 146.0, 169.0, 153.0, 179.0, 171.0, 156.0, 173.0, 161.0, 169.0, 165.0, 152.0, 154.0, 170.0, 157.0, 156.0, 150.0, 164.0, 181.0, 149.0, 160.0, 174.0, 159.0, 165.0, 149.0, 164.0, 158.0, 170.0, 172.0, 186.0, 166.0, 163.0, 162.0, 156.0, 163.0, 157.0, 162.0, 173.0, 150.0, 171.0, 173.0, 159.0, 139.0, 154.0, 173.0, 160.0, 150.0, 155.0, 168.0, 165.0, 158.0, 156.0, 156.0, 151.0, 176.0, 157.0, 172.0, 175.0, 170.0, 156.0, 164.0, 160.0, 151.0, 163.0, 148.0, 172.0, 155.0, 162.0, 163.0, 157.0, 166.0, 155.0, 169.0, 147.0, 161.0, 179.0, 150.0, 153.0, 165.0, 162.0, 164.0, 165.0, 166.0, 171.0, 164.0, 158.0, 167.0, 179.0, 159.0, 150.0, 171.0, 159.0, 138.0, 168.0, 155.0, 159.0, 163.0, 162.0, 167.0, 156.0, 165.0, 157.0, 167.0, 166.0, 151.0, 171.0, 155.0, 168.0, 164.0, 178.0, 158.0, 157.0, 160.0, 157.0, 168.0, 144.0, 149.0, 149.0, 170.0, 177.0, 159.0, 158.0, 161.0, 172.0, 151.0, 162.0, 170.0, 165.0, 162.0, 170.0, 133.0, 167.0, 153.0, 142.0, 165.0, 174.0, 159.0, 170.0, 176.0, 173.0, 176.0, 167.0, 161.0, 144.0, 158.0, 152.0, 182.0, 158.0, 161.0, 166.0, 160.0, 177.0, 154.0, 162.0, 153.0, 147.0, 154.0, 160.0, 156.0, 153.0, 146.0, 159.0, 145.0, 168.0, 161.0, 145.0, 157.0, 152.0, 163.0, 173.0, 141.0, 161.0, 158.0, 167.0, 162.0, 152.0, 157.0, 152.0, 171.0, 160.0, 179.0, 159.0, 153.0, 145.0, 142.0, 144.0, 163.0, 165.0, 144.0, 169.0, 155.0, 161.0, 176.0, 169.0, 157.0, 151.0, 138.0, 153.0, 158.0, 150.0, 159.0, 161.0, 158.0, 153.0, 162.0, 164.0, 149.0, 174.0, 159.0, 160.0, 167.0, 162.0, 170.0, 163.0, 154.0, 164.0, 149.0, 161.0, 160.0, 158.0, 159.0, 141.0, 155.0, 161.0, 162.0, 150.0, 173.0, 151.0, 170.0, 164.0, 154.0, 178.0, 148.0, 169.0, 170.0, 153.0, 174.0, 157.0, 163.0, 163.0, 159.0, 168.0, 168.0, 143.0, 173.0, 143.0, 170.0, 171.0, 149.0, 156.0, 149.0, 158.0, 157.0, 168.0, 173.0, 174.0, 154.0, 158.0, 143.0, 152.0, 170.0, 176.0, 148.0, 154.0, 160.0, 163.0, 152.0, 164.0, 155.0, 160.0, 165.0, 160.0, 156.0, 159.0, 159.0, 156.0, 157.0, 176.0, 166.0, 157.0, 167.0, 157.0, 172.0, 164.0, 159.0, 164.0, 144.0, 149.0, 148.0, 161.0, 177.0, 182.0, 166.0, 165.0, 142.0, 155.0, 152.0, 154.0, 158.0, 155.0, 140.0, 167.0, 149.0, 162.0, 181.0, 151.0, 135.0, 157.0, 171.0, 180.0, 148.0, 165.0, 155.0, 159.0, 186.0, 145.0, 163.0, 165.0, 171.0, 161.0, 163.0, 156.0, 163.0, 157.0, 166.0, 156.0, 164.0, 160.0, 171.0, 159.0, 142.0, 173.0, 151.0, 153.0, 154.0, 174.0, 139.0, 191.0, 171.0, 162.0, 159.0, 163.0, 165.0, 166.0, 166.0, 161.0, 158.0, 158.0, 158.0, 171.0, 166.0, 131.0, 167.0, 162.0, 160.0, 156.0, 171.0, 169.0, 152.0, 164.0, 150.0, 146.0, 154.0, 169.0, 170.0, 165.0, 167.0, 165.0, 154.0, 164.0, 168.0, 168.0, 172.0, 167.0, 164.0, 171.0, 160.0, 151.0, 158.0, 153.0] |
Создадим две гистограммы.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
# выберем количество интервалов bins = 15 # новая для нас возможность - размер графика plt.figure(figsize = (10,6)) # построим две гистограммы # alpha задает их прозрачность plt.hist(height_men, bins, alpha = 0.5, label = 'Рост мужчин') plt.hist(height_women, bins, alpha = 0.5, label = 'Рост женщин') # укажем, где мы хотим расположить легенду графика и пропишем размер шрифта plt.legend(loc = 'upper left', prop = {'size': 14}) # добавим подписи и укажем размер шрифта plt.xlabel('Рост, см', fontsize = 16) plt.ylabel('Количество респондентов', fontsize = 16) plt.title('Распределение роста мужчин и женщин в России', fontsize = 18) |

В данном случае мы видим, что если мы разделим людей на мужчин и женщин, распределение их роста не будет одинаковым. Средний рост у них разный.
Аналогичным образом, мы можем посмотреть на взаимосвязь двух количественных переменных. Например, посмотрим, как меняется обхват шеи человека с увеличением роста.
Пример: рост женщин и окружность их шеи
Для этого нам надо построить новый для нас тип графика: диаграмму рассеяния или точечную диаграмму (scatter plot). Каждая точка на графике — одно наблюдение.
1 2 3 |
# соберем данные для роста и обхвата шеи height_women_new = [1.48, 1.49, 1.49, 1.50, 1.51, 1.52, 1.52, 1.53, 1.53, 1.54, 1.55, 1.56, 1.57, 1.57, 1.58, 1.58, 1.59, 1.60, 1.61, 1.62, 1.63, 1.64, 1.65, 1.65, 1.66, 1.67, 1.67, 1.68, 1.68, 1.69, 1.70, 1.70, 1.71, 1.71, 1.71, 1.74, 1.75, 1.76, 1.77, 1.77, 1.78] neck_women = [29.1, 30.0, 30.1, 30.2, 30.4, 30.6, 30.8, 30.9, 31.0, 30.6, 30.7, 30.9, 31.0, 31.2, 31.3, 32.0, 31.4, 31.9, 32.4, 32.8, 32.8, 33.3, 33.6, 33.0, 33.9, 33.8, 35.0, 34.5, 34.7, 34.6, 34.2, 34.8, 35.5, 36.0, 36.2, 36.3, 36.6, 36.8, 36.8, 37.0, 38.5] |
1 2 3 4 5 6 7 8 |
# построим точечную диаграмму plt.figure(figsize = (10,6)) plt.scatter(height_women_new, neck_women) # добавим подписи plt.xlabel('Рост, см', fontsize = 16) plt.ylabel('Обхват шеи, см', fontsize = 16) plt.title('Зависимость роста и окружности шеи у женщин в России', fontsize = 18) |

Как мы видим, с увеличением роста окружность шеи увеличивается.
Пусть вас не пугает многообразие диаграмм. Со временем и практикой вы будете прекрасно в них ориентироваться.
Корреляция
Степень взаимосвязи переменных можно измерить.
Для двух количественных переменных можно воспользоваться коэффициентом Пирсона. Диапазон значений этого коэффициента находится в пределах от минус единицы (отрицательная корреляция, если один показатель увеличивается, другой уменьшается и наоборот) до плюс единицы (положительная корреляция, если один увеличивается, другой тоже увеличивается и наоборот). Ноль означает отсутствие корреляции.
Ниже приведены графические примеры возможных корреляций.

Рассчитаем коэффициент корреляции с помощью Питона.
1 2 3 4 5 |
# импортируем модуль stats из библиотеки scipy import scipy.stats as st # передаем два списка в качестве аргумента и выводим первый элемент результата с индексом [0] # затем округляем результат np.round(st.pearsonr(height_women_new, neck_women)[0], 2) |
Результат:
1 |
0.98 |
Очень высокая, почти идеальная положительная корреляция.
Напомню, что даже корреляция равная единице или минус единице не означает наличие причинно-следственной связи.
Идем дальше. Ровно так как мы можем с определенной долей уверенности сделать вывод о генеральной совокупности по выборке, точно также мы можем смоделировать взаимосвязь переменных по ограниченному набору данных.
Построение модели
Рассмотрим модель, которую называют моделью линейной регрессии, и попробуем с ее помощью математически описать связь роста и обхвата шеи.
Модель линейной регрессии
Вначале напомню, что линия на графике описывается знакомым нам уравнением вида
$$ y = w \times x + b $$
где w и b — это веса и одновременно наклон и сдвиг прямой вверх или вниз.
Теперь возьмем имеющиеся у нас данные и проведем через них линию, но не случайным образом, а так, чтобы сумма расстояний от этой прямой до точек было минимальным. Воспользуемся Питоном.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
# переведем наши списки в особый формат, массив Numpy X = np.array(height_women_new) y = np.array(neck_women) # зададим размер графика plt.figure(figsize = (10,6)) # снова построим точечную диаграмму plt.scatter(X, y) # создадим модель с помощью функции polyfit() # slope и intercept - это наклон и сдвиг вверх-вниз нашей прямой # и одновременно те самые веса модели w и e slope, intercept = np.polyfit(X, y, 1) # с их помощью построим график прямой # каждой точке X будет соответствовать прогнозное значение X*slope + intercept # r означает red, красный цвет линии plt.plot(X, X * slope + intercept, 'r') # добавим подписи plt.xlabel('Рост женщин в России, м', fontsize = 16) plt.ylabel('Обхват шеи, см', fontsize = 16) plt.title('Зависимость роста и окружности шеи у женщин в России', fontsize = 18) |

Теперь посмотрим на то, какой наклон и сдвиг нашел для нас Питон.
1 |
print(np.round(slope, 2), np.round(intercept, 2)) |
1 |
26.86 -10.57 |
Подставим полученные значения вместо w и e в уже известное нам выражение, чтобы найти уравнение именно этой прямой.
$$ y = 26.86x-10.57 $$
Предсказание роста
Модель готова делать прогноз. Предположим, нам встретилась еще одна девушка, и ее рост составляет 1,73 м. Каким будет обхват ее шеи? Подставим рост нового респондента в уравнение вместо независимой переменной x.
1 2 3 4 5 |
# переменная с ростом нового респондента new_lady = 1.73 # подставим это значение в наше уравнение прямой np.round(26.86 * new_lady - 10.57, 2) |
Результат:
1 |
35.9 |
Напоследок замечу, что для прогнозных значений также можно задавать доверительный интервал, ровно так, как мы это делали для среднего генеральной совокупности на прошлом занятии.
Граница между статистикой и машинным обучением
Внимательный читатель скажет, что регрессионный анализ, то есть построение модели регрессии, также является разделом статистики и не относится исключительно к области машинного обучения.
В рамках настоящего курса, для простоты и системности изложения я буду рассматривать регрессию только как одну из моделей машинного обучения.
Подведем итог
На этом занятии мы узнали, что между переменными может существовать взаимосвязь. Если одна переменная категориальная, а другая — количественная, их удобно изобразить с помощью двух гистограмм, расположенных на одном графике. Если обе количественные — подойдет точечная диаграмма.
Кроме того, если мы хотим математически описать наши данные, то можем построить модель. Например, модель линейной регрессии, которая графически представляет собой прямую линию, проходящую через данные.
Алгебраически, прямая описывается уравнением $$ y = w \times x + b $$
Вопросы для закрепления
Корреляция двух количественных величин равна −0.8. Как интерпретировать этот коэффициент?
Посмотреть правильный ответ
Ответ: в данном случае речь идет о сильной отрицательной корреляции. Когда одна переменная растет, вторая снижается и наоборот.
Что определяют веса w и b на графике?
Посмотреть правильный ответ
Ответ: наклон и сдвиг прямой вверх или вниз соответственно
Дополнительные упражнения⧉ вы найдете в конце ноутбука.
Нахождение весов
В наших рассуждениях все ещё остаётся один не проясненный момент: как мы нашли w и b? Именно этим вопросом мы и начнем заниматься на следующем занятии, посвященном оптимизации.
Вопрос и комментарии
Комментарий. При визуальном сравнении двух выборок с помощью гистограмм могут возникнут сложности, если выборки сильно различаются по размерам. Одна гистограмма может оказаться значительно ниже другой, сожмётся и на ней сложно будет оценить распределение и среднее.
Выборки разного размера удобно сравнивать с помощью боксплотов, которые не учитывают размеры выборок, но зато позволяют оценить, как они соотносятся между собой по медианам, размахам, квартилям.
Также на графике с боксплотами удобно сравнивать выборки, когда их больше двух. График с гистограммами в таком случае станет совсем тяжелым для чтения.
Ответ. Полностью согласен. Все это рассмотрим на курсе по анализу данных.
На вводном курсе я сознательно опустил некоторые разделы, чтобы не перегружать информацией тех, кто первый раз знакомится со статистикой.
На данном этапе мне важно, чтобы был виден переход от анализа данных и выявления взаимосвязи между переменными к построению модели.