С каждым годом все больше и больше людей пользуются услугами воздушного транспорта, возрастает количество воздушных судов и численность авиационного персонала. В результате увеличивается и количество случаев крушения самолетов. Эти происшествия по настоящему трагические и ужасающие, ведь зачастую влекут за собой множество жертв. В своем проекте мы бы хотели проиллюстрировать зависимость количества пострадавших в результате авиакатастрофы от обстоятельства, вызвавшего причину крушения.
Для своего исследования мы выдвинули ряд гипотез:
Нашей целью стало исследование данных высказываний на предмет истинности, а также формулирование исходя из этого выводов о полезности данной информации и ее дальнейшем применении не только в теоретической, но и в практической деятельности. Данная тема является актуальной в современном обществе, так как внедрение новых технологий и автоматизация процессов внедряется практически во все отрасли человеческой жизни, и авиация - не исключение. Поэтому важно изучать данный вопрос, чтобы специализировать новые разработки в первую очередь на безопасности людей, которые будут ими пользоваться.
Существует большое количество исследований, авторы которых старались ответить на следующие вопросы: какие факторы влияют на авиакатастрофы и какие меры помогут уменьшить число таких случаев? Авторы исследования «Анализ статистики авиакатастроф»[1] пришли к следующим выводам: основыми причинами авиапроисшествий являются метеорологические условия, человеческий фактор(ошибки пилотов, экипажа), теракты, техническая неисправность и пожары. Проанализировав большое количество данных, исследователи заключили, что наиболее частой причиной авиакатастроф является человеческий фактор – на ошибки авиадиспетчеров, погрузчиков, авто-газозаправщиков и инженеров по техническому обслуживанию приходится 60 процентов всех случаев, еще 4 процента приходится на ошибки пилотов. Данное заключение подтверждается и авторами статьи «Causes of Incidents and Accidents»[3], которые для полноты анализа авиапроисшествий вводят два различных термина – несчастный случай и инцидент. Несчастный случай – события, произошедшие во время полета, имеющие одно или несколько из следующих последствий: серьезное или смертельное ранение человека; повреждение или отказ конструкции воздушного судна, которое обычно требует капитального ремонта или замены; пропажа самолета. Инцидент – события, произошедшие во время полета, которые влияют или могли повлиять на безопасность эксплуатации судна. Включив обе группы событий в свой анализ, авторы заключили, что ошибка персонала (человеческий фактор) - наиболее частая причина как происшествий, так и несчастных случаев. CFIT(столкновение с землёй в управляемом полёте) и аварии с потерей управления, которые почти по определению связаны с человеческим фактором, составляют более половины всех несчастных случаев со смертельным исходом. Что касается влияния других факторов на авиакатастрофы, в статье «Последний рейс: почему разбиваются самолеты в России»[4] приводятся данные о том, что с начала 2000-х годов по вине экипажа произошло более половины всех авиапроисшествий. Еще около трети катастроф случилось из-за внешних причин (экстремальные погодные условия, террористические акты, ошибки диспетчеров и наземных служб аэропорта, возгорание топлива и попадание птиц в двигатель). Из-за отказа техники за тот же период произошло 13% катастроф. В связи со всеми приведенными данными, мы делаем упор на то, чтобы узнать, какое влияние оказывает человеческий фактор, погодные условия и технические неполадки на количество жертв авиакатастроф. Данные факторы сами являются совокупностью различных событий или действий, отличающихся по своим причинам, которые также нуждаются в анализе и разборе их специфики. Так, анализируя ошибки по вине пилота, авторы статьи «Human Factors in Fatal Aircraft Accidents»[2] выделяют такие причины, влияющие на поведение пилота, как попытка сделать то, что выходит за рамки опыта, неадекватное принятие решений(намеренное продолжение полета в плохие погодные условия, решение не идти на второй круг при посадке самолета), ошибки в управлении, а также медицинские факторы. Важно понимать, что в век масштабного технологического прогресса сфера услуг воздушного транспорта претерпевает изменения. Анализ динамики этого процесса и влияния этих изменений на авиакатастрофы представлен в статье «Анализ статистики авиакатастроф». Проанализировав статистику, авторы статьи выяснили, что в 2000-х годах уменьшилось число авиакрушений в результате метеорологических условий, а также в результате терактов(на 1%), однако увеличилось число крушений из-за технических неисправностей и человеческого фактора(ошибки пилота или диспетчера). Несмотря на то, что к этому времени оснащение самолетов и аэропортов в разы улучшились, момент человеческой ошибки остался актуальным: при сравнении всех данных исследователи пришли к выводу, что основной причиной крушений, несмотря на развитое техническое оснащение, остается человеческий фактор и технические неисправности. Затрагивая вопрос технологического оснащения, автор статьи «Последний рейс: почему разбиваются самолеты в России»[4] высказывает мнение, ссылаясь на экспертов в данной области, что летный парк российских воздушных судов устарел, и самолеты отечественного производства во многом уступают современным западным авиалайнерам. В связи с чем мы в своей работе постараемся также дать ответ на вопрос: существует ли зависимость между моделью самолета и количеством жертв?
В нашем исследования мы использовали данные с сайтов PlaneCrashInfo.com и Aviation Safety Network, где вся информация собрана с достоверных источников(с сайтов властей, авиационной безопасности). Всего собрано 4 датасета:
Более того, каждый фактор разбит на несколько групп:
Теперь рассмотрим достоинства и недостатки собранных данных.
Достоинства:
Недостатки:
Мы решили рассмотреть авиакатасрофы с жертвами за последние 20 лет, то есть за период с 2000 по 2020.
В нашем проекте мы использовали следующие методы исследования:
Начальная работа с данными:
data <- read_excel("~/Desktop/crushes-project.xlsx")
data = data %>% mutate(Fat = str_extract(Fatalities, '^[0-9]+'))
data = data %>% mutate(Fatalities = str_extract(Fatalities, '[0-9]+/[0-9]+'))
data = data %>% mutate(Aboard = str_extract(Fatalities, '[0-9]+$'))
data = data [,-5]
colnames(data )[5] <- "Fatalities"
data$Date=dmy(data$Date)
data$Fatalities = as.numeric(data$Fatalities)
data$Aboard = as.numeric(data$Aboard)
data = data %>% mutate_if(is.character, as.factor)
data = data %>% mutate(ratio = Fatalities/Aboard)
Посмотрим на распредление данных:
ggplot(data)+geom_density(aes(x= Fatalities), color = '#A5A727')+
ggtitle("Функция плотности распределения")+
ylab("")+
xlab("Количество жертв")+theme_minimal()
Практический вывод: Данный график показывает, каким образом распределено количество жертв в различных катастрофах в нашем датасете. Из него мы можем сделать следующий вывод: в большинстве случаев число жертв небольшое: от 5 до 10 человек, чем больше число жертв отдаляется от 10, тем меньше случаев с таким количеством. Однако на графике можно заметить, что довольно велико количество случаев с числом жертв:40-50 человек. Совсем мало случаев с количеством жертв больше 90-100. В целом такие показатели довольно ожидаемы. В большинстве случаев происходят аварии в небольших самолетах с небольшой вмещаемостью, чем в крупных самолетах, которые предназначены для перевозки большого числа людей. Это может быть обусловенно тем, что крупные самолеты могут быть лучше технически оснащены, в них лучше подготовлен персонал, так как в этом случае на перевозчике лежит большая ответственность - жизни множества людей.
Построим график, где будет отображено общее количество жертв за год, начиная с 2000 и заканчивая 2020.
data = data %>% mutate(Year = year(Date)) %>% na.omit(Fatalities)
year = data %>% group_by(Year) %>% summarise(fat = sum(Fatalities))
ggplot(year) + geom_line(aes(x = Year, y = fat),color = "#566471", stat='identity')+geom_point(aes(x = Year, y = fat),color = "#3E436A", stat='identity')+
xlab("Год")+
ylab("Количеств жертв")+
ggtitle("Количество жертв авиакатастроф за год")+theme_minimal()
Главная тенденция графика - убывание,т.е. число жертв все время снижается. Также существуют резкие скачки, например:резкий спад числа жертв в 2003-2004 гг. и особенно в 2013-2014 гг. Однако за такими резкими скачками вниз также наблюдаются не менне резкие подъемы. Из данного графика можно сделать следующий вывод: число жерт постепенно, скачкообразно снижается(т.к. после 2000 года не было ни одного года, в который число жертв бы превысило его значение), что обусловлено скорее всего тем, что идет развитие технологий и обучения персонала в авиаиндустрии. Скачкообразность обусловлена тем, что число жертв крушений не зависит от года, по крайней мере в рассматриваемом нами периоде, поэтому никакой тенденции наблюдаться и не должно(если бы, например, мы рассматривали период военных действий, то скорее всего был бы резкий скачок в тот период).
Далее мы решили рассмотреть одну из основных идей нашего исследования:зависимость количества крушений от фактора, и в данном случае рассмотрели авиакомпанию, осуществляющую перевозки. Мы посчитали количество всех жертв для разных авиакомпаний и далее выбрали те, у которых оно наибольшее. Построив график, мы можем видеть, что наибольшее число жертв у Air India Express, на втором месте AirAsia.
op = data %>% group_by(Operator) %>% summarise(fat = sum(Fatalities), ab = sum(Aboard), ratio = fat/ab)
op1 = op %>% arrange(-fat)
op2 = head(op1, 20)
ggplot(op2) + geom_bar(aes(x = Operator, y = sort(fat)),fill = "#D8E3E9", stat='identity')+
xlab("Авиакомпания")+
ylab("Количество жертв")+
ggtitle("Количество жертв авиакатастрофы в зависимости\nот авиакомпании")+coord_flip()+theme_minimal()
ot = data %>% group_by(Type) %>% summarise(fat = sum(Fatalities), ab = sum(Aboard), ratio = fat/ab)
ot1 = ot %>% arrange(-fat)
ot2 = head(ot1, 20)
ggplot(ot2) + geom_bar(aes(x = Type, y = fat),fill = "#566471", stat='identity')+
xlab("Модель самолета")+
ylab("Количество жертв")+
ggtitle("Количество жертв авиакатастрофы\nв зависимостиот модели самолета")+coord_flip()+theme_minimal()
Дополнительно к авиалиниям мы решили проверить модели самолета и посмотреть, есть ли модели, в которых больше жертв при крушении. Проделав необходимые преобразования с данными, мы получили количество жертв по каждой модели самолета, представленной в датасете и отразили это на графике. Наибольшее количество жертв при крушении было в таких моделях как: McDonnell Douglas MD-82, Airbus A321-231 и Boeing 777-2H6ER. Такая статистика может быть связана с тем, что эти модели являются большими пассажирскими суднами, с большой вмещаемостью от 100 человек и одновременно сконструированы таким образом, что при крушении весь экипаж и пассажиры погибают (судя по данным всех пассажиров и жертв). Также заметим, что в данных нет моделей, с которыми бы никогда не происходило крушений. Соответственно, мы можем сделать вывод, что ещё не было изобретено такой модели, которая была бы абсолютно безопасна и не подвержена внешним факторам, которые мы рассмотрим более детально.
Проверим зависимость с помощью статистических тестов. Для этого разделим количество жертв на много/мало, опираясь на медианное значение. Значениям, которые меньше медианного, будем присваивать 0, а тем, что выше - 1.
med = median(data$Fatalities)
data = data %>% mutate(fatality = case_when(Fatalities <= med ~ '0', T ~ '1'))
ch = table(data$fatality, data$Type)
chisq.test(ch)
##
## Pearson's Chi-squared test
##
## data: ch
## X-squared = 631.63, df = 584, p-value = 0.08426
Вывод: Благодаря такому определению показателей мы можем оценить разницу распределений категорий с помощью критерия согласия Пирсона (Хи-квадрат). Максимально приемлемый уровень значимости установим на уровне 0,05. Найденное значение p-value для фактора Модель самолета равна 0,08426. Согласно такому значению зависимость количества жертв от модели самолета скорее всего отсутствует. Но сравнив показатели разных факторов, в тестах мы условились принять p-value до 0,08 за наличие зависимости.
ch2 = table(data$fatality, data$Operator)
chisq.test(ch2)
##
## Pearson's Chi-squared test
##
## data: ch2
## X-squared = 686.26, df = 656, p-value = 0.2001
Вывод: Критерий Хи-квадрат демонстрирует наличие разницы в распределении. Так как p-value данного фактора достаточно большой - 0,2001, то можно сделать вывод о том, что эта разница статистически значима.
Посмотрим на силу связи между моделью самолета и количеством жертв с помощью коэффициента сопряженности.
c = cont.coef(data[, c('fatality', 'Type')])
## Contingency Coefficient
##
## Estimate: 0.68
Вывод: В дополнение к исследованию связи между моделью самолета и количеством жертв при авиапроисшествии мы рассчитываем коэффициент взаимной сопряженности - показатель степени тесноты связи. Найденное значение 0,68 заметно отличается от нуля - значит, существует высокая степень связи.
weather <- read_excel("~/Desktop/Факторы-проект/weather .xlsx")
problems <- read_excel("~/Desktop/Факторы-проект/проблемы с самолетом.xlsx")
human_factor <- read_excel("~/Desktop/Факторы-проект/человеческий фактор.xlsx")
weather$Fatalities = as.numeric(weather$Fatalities)
problems$Fatalities = as.numeric(problems$Fatalities)
human_factor$Fatalities = as.numeric(human_factor$Fatalities)
weather = weather %>% mutate(Year = str_extract(Date, '[0-9][0-9][0-9][0-9]'))
weather = weather %>% filter(Year > 1999)
problems = problems %>% mutate(Year = str_extract(Date, '[0-9][0-9][0-9][0-9]'))
problems = problems %>% filter(Year > 1999)
human_factor =human_factor %>% mutate(Year = str_extract(Date, '[0-9][0-9][0-9][0-9]'))
human_factor = human_factor %>% filter(Year > 1999)
colnames(weather)[6] = 'Factor'
weather = weather %>% mutate(Weather_all = sum(Fatalities))
problems = problems %>% mutate(Weather_all = sum(Fatalities))
human_factor = human_factor %>% mutate(Weather_all = sum(Fatalities))
Рассмотрим теперь погодные условия, технические сбои и человеческий фактор вместе:
На основе прочитанных нами статей мы выяснили, что наибольшее влияние на количество катастроф, а, соответственно, и количество жертв, оказывают три фактора: технические сбои, человеческий фактор и погодные условия. Мы решили выяснить, каким образом наши данные распределены между этими тремя группами. Для этого мы сгруппировали датасет по трем факторам, подсчитали число жертв для каждого фактора и построили пай-чарт, на котором хорошо видно распределение.
human_factor = subset(human_factor, select = -c(6))
fact = rbind(weather, problems)
factors = rbind(fact, human_factor)
factors = factors %>% filter(Fatalities > 0)
factors = factors %>% mutate(Main_factors = case_when(Factor %in% c('Heavy rainfall', 'Icing', 'Lightningstrike', 'Low visability', 'Turbulence', 'Windshear/downdraft') ~ 'Weather', Factor %in% c('Aircraft system failures', 'Airframe failure', 'Engine problem', 'Flight control surfaces issues', 'Instrument issues', 'Landing gear issues') ~ 'Technical failures', T ~ 'Human factor'))
factt = factors %>% group_by(Main_factors) %>% summarise(Fatalities = sum(Fatalities), mean = mean(Fatalities)) %>% mutate(pers = round(Fatalities/sum(Fatalities), 2))
factt['Main_factors'] = c('Человеческий фактор', 'Технические сбои', 'Погодные условия')
names2=paste(factt$Main_factors, " (", factt$pers*100, "%)", sep = "")
pie(factt$Fatalities, names2, main = 'Доля жертв в зависимости от фактора,\nпослужившего причиной авиакатастрофы')
Вывод: Исходя из графика, мы можем сделать вывод, что больше всего людей погибло в результате крушений из-за технических сбоев, на втором месте - человеческий фактор, на третьем - погодные условия. Это может говорить о том, что, несмотря на продолжающееся техническое оснащение аэропортов и самолетов, момент технической неисправности остается актуальным и вероятности непредвиденной ситуации неполадки воздушного судна на фоне остальных факторов авиакатастроф остается значительным. Можно проследить, что человеческий фактор оказывает приблизительно такое же влияние на крушения, что и фактор технической неполадки, то есть, такое же большое количество катастроф случается по причине, которую, по своей сути, специалист(пилот, экипаж) мог бы устранить. Наименьшую доля крушений приходится на погодные условия, это может быть связано с тем, что метеорологические службы имеют на данный момент хорошие приборы для прогнозирования погоды, но, несмотря на это, ни диспетчер, ни метеорологическая служба порой не в силах предугадать поведение природы.
Рассмотрим каждый фактор по отдельности
Далее мы решили рассмотреть каждый фактор по отдельности и выяснить в каждом отдельном случае, какие факторы вызывают наибольшее количество жертв. Для каждого фактора мы рассмотрели среднее и общее число жертв и построили для наглядности соответствующие графики.
plot_weather = weather %>% group_by(Factor)%>% summarise(fatality = sum(Fatalities), fatality_mean=mean(Fatalities))
plot_weather$Factor=as.factor(plot_weather$Factor)
ggplot(plot_weather)+
geom_bar(aes(x=fatality,y=Factor),stat="identity", fill= '#ACBAC3')+
xlab("Общее количество жертв")+
ylab("Погодные условия")+
ggtitle("Погодные условия и общее число \nжертв авиакатастроф")+
scale_y_discrete(breaks=c("Windshear/downdraft","Turbulence","Low visability","Lightningstrike","Icing","Heavy rainfall"),labels=c("Нисходящие потоки ветра","Турбулентность","Низкая видимость","Молнии","Обледенение","Проливные дожди"))+theme_minimal()
ggplot(plot_weather)+
geom_bar(aes(x=fatality_mean,y=Factor),stat="identity", fill = '#A6C2D0')+
xlab("Среднее число жертв")+
ylab("Погодные условия")+
ggtitle('Погодные условия и среднее число \nжертв авиакатастроф')+
scale_y_discrete(breaks=c("Windshear/downdraft","Turbulence","Low visability","Lightningstrike","Icing","Heavy rainfall"),labels=c("Нисходящие потоки ветра","Турбулентность","Низкая видимость","Молнии","Обледенение","Проливные дожди"))+theme_minimal()
Вывод: Как мы видим из графика, наибольшее число жертв авиакрушений просиходит из-за нисходящих потоков ветра и слабой видимости, в то время как турбулентность и молнии наименьшим образом влияют на крушения. По средним данным на первое место выходят проливные дожди и низкая видимость, а наименьшее влияние также оказывает турбулентность и молния. Из этих двух графиков можно сделать вывод, что турбулентность и молнии в целом почти не вызывают катастроф, так как эти проблемы люди давно научились обходить, необходимым образом конструируя самолеты. А вот сильно влияние оказывает низкая видимость, как в общих цифрах, так и в средних, что говорит о том, что из-за низкой видимости происходило довольно много крушений с большим числом жертв практически в каждом. То же самое можно сказать и про такой фактор, как нисходящие потоки ветра. А вот проливной дождь по построенным графикам скорее всего вызвал небольшое количество катастроф, но с большим числом жертв.
Проверим на зависимость погодные условия, послужившие причиной авиакатастрофы, и количество жертв с помощью статистического теста Хи-квадрат Пирсона, поделив количество жертв так же, как и с авиакомпаниями/моделями самолетов. 0 - Мало жертв 1 - Много жертв
med2 = median(weather$Fatalities)
weather = weather %>% mutate(fatality = case_when(Fatalities == 0 ~ '0', T ~ '1'))
ch3 = table(weather$fatality, weather$Factor)
chisq.test(ch3)
##
## Pearson's Chi-squared test
##
## data: ch3
## X-squared = 23.274, df = 5, p-value = 0.0002992
Вывод: Показатель p-value для этого фактора достаточно мал и равен 0.0002992. То есть, вероятность ошибки при отклонении нулевой гипотезы очень низкая, а связь между переменной и фактором очень вероятна.
Установим силу связи между переменными:
c2 = cont.coef(weather[, c('fatality', 'Factor')])
## Contingency Coefficient
##
## Estimate: 0.36
Рассчитав коэффициент сопряженности, мы нашли значение 0,36. Оно ближе к 0, чем к 1, что свидетельствует о средней-низкой степени связи.
Те же самые расчеты мы провели и для данных с человеческим фактором.
hum_factor = human_factor
hum_factor$Date=dmy(hum_factor$Date)
hum_factor=hum_factor %>% filter(!is.na(Date)&year(Date)>1999)
hum_factor= hum_factor %>% group_by(Factor) %>% summarise(mean_f=mean(Fatalities), sum = sum(Fatalities))
hum_factor$Factor=as.factor(hum_factor$Factor)
ggplot(hum_factor)+
geom_bar(aes(x=sum,y=Factor),stat="identity", fill = '#D8E3E9')+
xlab("Общее число жертв")+
ylab("Причина")+
ggtitle("Соотношения числа жертв с человеческим\n фактором, послужившим\n причиной авиакатастрофы")+
scale_y_discrete(breaks=c("Flightcrew member's alcohol, drug usage","Loss of situational awareness","Distraction in cockpit","Flightcrew's failure to monitor instruments","Flightcrew incapacitation","Insufficient rest / fatigue","Flightcrew member's mental condition","Navigational error","Non-adherence to procedures","Flightcrew un(der)qualified"),labels=c("Употр. членами экипажа алкоголя и наркотиков","Потеря осведомлённости о ситуации","Отвлечение внимания в кабине пилота","Упущение экипажа в мониторинге инструментов","Недееспособность экипажа","Недостаток отдыха/усталость","Психическое состояние членов экипажа","Ошибка навигации","Несоблюдение процедур","Недостат./отсутств. компетентности экипажа"))+theme_minimal()
На графике хорошо видно, что самый значимый фактор - потеря персоналом(или пилотом) осведомленности о ситуации. На втором месте - недостаток отдыха и усталость пилота. Наименьшее число жертв было в результате крушения по причине упущения экипажем мониторинга инструментов и отвлечения внимания в кабине пилота.
ggplot(hum_factor)+
geom_bar(aes(x=mean_f,y=Factor),stat="identity", fill = '#566471')+
xlab("Среднее число жертв")+
ylab("Причина")+
ggtitle("Соотношения ср. числа жертв с человеческим\n фактором, послужившим причиной\n авиакатастрофы")+
scale_y_discrete(breaks=c("Flightcrew member's alcohol, drug usage","Loss of situational awareness","Distraction in cockpit","Flightcrew's failure to monitor instruments","Flightcrew incapacitation","Insufficient rest / fatigue","Flightcrew member's mental condition","Navigational error","Non-adherence to procedures","Flightcrew un(der)qualified"),labels=c("Употр. членами экипажа алкоголя и наркотиков","Потеря осведомлённости о ситуации","Отвлечение внимания в кабине пилота","Упущение экипажа в мониторинге инструментов","Недееспособность экипажа","Недостаток отдыха/усталость","Психическое состояние членов экипажа","Ошибка навигации","Несоблюдение процедур","Недостат./отсутств. компетентности экипажа"))+theme_minimal()
По графику среднего числа жертв мы можем наблюдать, что больше всего повлияло психическое состояние членов экипажа, на втором месте - ошибка навигации, на третьем - потеря осведомленности о ситуации. Меньшее влияние все также оказывают: отвлечение внимания в кабине пилота и упущение экипажем мониторинга ситуации.
Из двух графиков мы можем сделать следующий вывод: потеря осведомленности о ситуации является самым значимым фактором - он является наибольшим по количеству жертв и почти первым по среднему значению. Психическое состояние членов экипажа, судя по графикам, вызвало небольшое количество происшествий, но с довольно большим количеством жертв в каждом. А вот самые незначимые факторы - это упущение в мониторинге ситуации и отвлечение внимания в кабине пилота. Скорее всего, это связано с тем, что сейчас кабины пилота оснащены продвинутым оборудованием с функцией автопилота.
Теперь проверим на зависимость человеческие факторы, послужившие причиной авиакатастрофы, и количество жертв. 0 - Мало жертв 1 - Много жертв
med3 = median(human_factor$Fatalities)
human_factor =human_factor %>% mutate(fatality = case_when(Fatalities <= 2 ~ '0', T ~ '1'))
ch4 = table(human_factor$fatality, human_factor$Factor)
chisq.test(ch4)
##
## Pearson's Chi-squared test
##
## data: ch4
## X-squared = 8.6548, df = 9, p-value = 0.4697
Вывод: p-value для данного фактора велико - 0.4697. То есть, согласно тесту, вероятность зависимости отсутствует. Но как уже было проанализировано, это связано с влиянием совокупности факторов - рассматривание факторов по отдельности менее показательно и не отражает полной картины ситуации. Авиационные происшествия почти всегда возникают в результате серии событий, каждое из которых связано с одним или несколькими причинными факторами.
Последний фактор, который мы рассмотрели - технические сбои.
problems1 = problems %>% group_by(Factor) %>% summarise(Fat = sum(Fatalities), Fat_mean = mean(Fatalities))
ggplot(problems1)+
geom_bar(aes(x=Fat,y=Factor),stat="identity", fill = '#D8E3E9')+
xlab("Общее число жертв")+
ylab("Причина")+
ggtitle("Соотношения числа жертв с техническими\n сбоями, послужившим\n причиной авиакатастрофы")+scale_y_discrete(breaks=c("Landing gear issues","Instrument issues","Flight control surfaces issues","Engine problem","Airframe failure","Aircraft system failures"),labels=c("Проблемы с шасси","Проблемы с приборами","Проблемы с поверхностями управления полетом","Проблемы с двигателем","Ошибки в конструкции самолета","Отказы авиационной системы"))+theme_minimal()
По графику общего числа жертв из-за техническим сбоев видно, что наибольшее число жертв вызвано проблемами с двигателем и ошибкой в конструкции самолета. Меньше всего жертв было в тех случаях, когда причиной крушения оказывались проблемы с шасси и отказы авиационной системы.
ggplot(problems1)+
geom_bar(aes(x=Fat_mean,y=Factor),stat="identity", fill = '#ACBAC3')+
xlab("Среднее число жертв")+
ylab("Причина")+
ggtitle("Соотношения среднего числа жертв с техническими\n сбоями, послужившим\n причиной авиакатастрофы")+scale_y_discrete(breaks=c("Landing gear issues","Instrument issues","Flight control surfaces issues","Engine problem","Airframe failure","Aircraft system failures"),labels=c("Проблемы с шасси","Проблемы с приборами","Проблемы с поверхностями управления полетом","Проблемы с двигателем","Ошибки в конструкции самолета","Отказы авиационной системы"))+theme_minimal()
Судя по средним значениям, все также большое влияние оказывает ошибка в конструкции самолета, а также проблема с приборами. Наименьшее число жертв также, как и с общим значением, вызвано проблемами с шасси и авиационной системой.
Из двух графиков можно сделать вывод: Наибольшее число жертв вызвано крушением по причине ошибок в конструкции самолета. Наименьшее влияние оказывают проблемы с шасси и авиационной системой. Такое распределение, скорее всего, связано с тем, что в случае отказа шасси или авиационной системы самолет все еще может сесть, например, на заднее шасси в случае отказа переднего. А вот в случае заводской ошибки в конструкции самолета и недостаточно детальной проверки его безопасности еще во время конструирования - крушения, скорее всего, будет не избежать.
Теперь проверим зависимость между техническими сбоями, послужившими причиной авиакатастрофы, и количеством жертв. 0 - Мало жертв 1 - Много жертв
med4 = median(problems$Fatalities)
problems = problems %>% mutate(fatality = case_when(Fatalities == 0 ~ '0', T ~ '1'))
ch5 = table(problems$fatality, problems$Factor)
chisq.test(ch5)
##
## Pearson's Chi-squared test
##
## data: ch5
## X-squared = 201.59, df = 5, p-value < 2.2e-16
Вывод: Критерий меньше 2.2e-16 (критически маленькое значение), что говорит о существовании вероятности связи между переменной и данным фактором
Установим теперь силу связи между этими переменными с помощью коэффициента сопряженности:
c3 = cont.coef(problems[, c('fatality', 'Factor')])
## Contingency Coefficient
##
## Estimate: 0.46
Вывод: Коэффициент сопряженности данного фактора и переменной равен 0,46 - это показатель средней степени связи.
После попарного изучения этих факторов с количеством жертв сравним коэффициенты сопряженности у погодных условий и технических сбоев для того, чтобы понять, какие из этих факторов оказывают наибольшее влияние на число жертв авиакрушения. Сложно не заметить, что у техническим сбоев он больше(0,46 > 0.36), тем самым можно утверждать, что неисправность самолета в большей степени влияет на число жертв авиапроисшествия.
Для еще большей наглядности мы решили сделать общий график со всеми тремя причинами и их разновидностями.
f = factors %>% group_by(Factor) %>% summarise(sum = sum(Fatalities))
ggplot(f)+
geom_bar(aes(x=sum,y=Factor),stat="identity", fill= '#566471')+
xlab("Общее количество жертв")+
ylab("Факторы авиакатастрофы")+
scale_y_discrete(breaks=c("Windshear/downdraft","Turbulence","Low visability","Lightningstrike","Icing","Heavy rainfall", "Flightcrew member's alcohol, drug usage","Loss of situational awareness","Distraction in cockpit","Flightcrew's failure to monitor instruments","Flightcrew incapacitation","Insufficient rest / fatigue","Flightcrew member's mental condition","Navigational error","Non-adherence to procedures","Flightcrew un(der)qualified", "Landing gear issues","Instrument issues","Flight control surfaces issues","Engine problem","Airframe failure","Aircraft system failures"),labels=c("Нисходящие потоки ветра","Турбулентность","Низкая видимость","Молнии","Обледенение","Проливные дожди", "Употр. членами экипажа алкоголя и наркотиков","Потеря осведомлённости о ситуации","Отвлечение внимания в кабине пилота","Упущение экипажа в мониторинге инструментов","Недееспособность экипажа","Недостаток отдыха/усталость","Психическое состояние членов экипажа","Ошибка навигации","Несоблюдение процедур","Недостат./отсутств. компетентности экипажа", "Проблемы с шасси","Проблемы с приборами","Проблемы с поверхностями управления полетом","Проблемы с двигателем","Ошибки в конструкции самолета","Отказы авиационной системы"))+
ggtitle("Причины крушения и общее число \nжертв авиакатастроф")+theme_minimal()
Вывод: На данном графе сильно выделяются именно те причины, которые мы назвали как самые значимые: проблемы с двигателем, потеря осведомленности о ситуации, ошибка в конструкции самолета, нисходящие потоки ветра, низкая видимость. Из всего выше перечисленного можно сделать следующий вывод и соответсвующие предположения:
В ходе проведённого нами рассмотрения научных статей и исследований, а также вычислений, можно заключить следующие выводы: из всех факторов авиакрушений наиболее статистически значимыми являются технические сбои, ненамного им уступает человеческий фактор, менее значимый по сравнению с предыдущими двумя фактор погоды, но оттого не менее важный сам по себе. Если говорить о частных случаях, самая частая причина катастрофа – проблемы с двигателем; следом потеря осведомлённости о ситуации и ошибки в конструкции самолёта. Из погодных факторов наиболее существенный – нисходящие потоки ветра.
Несторя на то, что статистические тесты не выявили отдельной зависимости между человеческим фактором и количеством жертв, связь всё же несомненно присутствует. Это может быть обусловлено тем, что именно все факторы в совокупности либо совокупность некоторых из них оказывают столь сильное влияние, так как во многих критических ситуациях человеческий фактор идёт рука об руку с причинами крушений другого толка, и попытка рассмотрения его в отдельности не дала результатов, что было доказано опытным путём.
Таким образом, наше исследование выявило потенциально наиболее слабые места в функционировании авиационных потоков. С учётом вышеперечисленного можно понять, в каких направлениях нужно проводить улучшения: инженерия(продолжение усовершенствования двигателей в частности и модификации конструкций самолётов в целом, которые сведут к минимуму или вовсе к нулю поломки из предыдущего отрицательного опыта); политика корпоративной ответственности: углубление социальных связей между работниками, более внимательное отношение к ментальному состоянию экипажа и продолжение повышения квалификации; к направлению инженерии также может относиться внедрение коммуникационных технологий, обеспечивающих непрерывную связь членов экипажа с диспетчерами и пассажирами во избежание ошибки отсутствия осведомлённости. Также необходима разработка технологий, минимизирующих влияние негативных погодных условий.
1.Сладкова Л. А. АНАЛИЗ статистики авикатастроф //НАУЧНЫЕ ДОСТИЖЕНИЯ И ОТКРЫТИЯ 2019: сборник статей VIII. – 2019. – С. 18.
2.Australia и Bureau of Air Safety Investigation. Human Factors in Fatal Aircraft Accidents. Bureau of Air Safety Investigation, 1996.
3.National Research Council (U.S.), редактор. Improving the continued airworthiness of civil aircraft: a strategy for the FAA’s aircraft certification service. National Academy Press, 1998.
4.Жидкова, Анастасия. Последний рейс: почему разбиваются самолеты в России . 2011 г., https://www.rbc.ru/society/01/08/2011/5703ea299a79477633d35fd2.
5.Мирюков, Никита. «Анализ человеческого фактора в авиационных происшествиях XXI века». Электронный периодический рецензируемый научный журнал «SCI-ARTICLE.RU», 2016 г.