1 of 40

부산광역시 화재 사고 출동 데이터 기반의�소방인력 최적화를 통한 화재 사고 피해 감소 방안 제시

DSBA 3기 동의대 분반

[ 不老不死 ]

강준규 / 이성훈 / 하재민 / 황태언

2 of 40

팀원 소개

프로젝트 총괄

유전 알고리즘

PM

강준규

활용 데이터 관리

딥러닝 모델 구축

Deep

Learning

통계 분석

회귀 분석

Machine

Learning

데이터 전처리

문서 작성 총관리

Data

Preprocessing

이성훈

하재민

황태언

3 of 40

목차

01

개요

기획 배경

주제 소개

02

수행 과정

주요 단계

활용 데이터

사용 기술

결과

03

마무리

차별성

기대 효과

활용 방안

향후 연구 방향

4 of 40

01. 개요

5 of 40

목차 - 기획 배경

출처: 소방 빅데이터 플랫폼

화재사고로 인한 지속적인 피해 발생

신속한 대응과 효과적인 피해 감소 방안의 필요성 증대

6 of 40

목차 - 기획 배경

소방력 은 [행정 안전부령 제361호] ‘소방력 기준에 관한 규칙’ 에 의하여

관할 면적이나 인구, 소방 수요 및 환경적 요소, 상황처리 소요시간 같은

다양한 기준에 의해 배치됨

*소방력: 소방기관이 업무를 수행하는데 있어 필요한 인력과 장비

*

출처: Kosis

7 of 40

목차 - 기획 배경

상관분석(Correlation Analysis) 수행

두 변수가 서로 어떤 선형적 관계를 갖고 있는지 분석

사고 처리 및 대응과 밀접한 관련이 있는 변수만을 선발하여 활용

상관계수가 0.4 이상일때부터 변수간 밀접한 관계가 존재한다고 판단

Element1

Element2

Corr

소방 인력

화재진압시간

0.55

소방 인력

재산피해금액

0.4

소방 인력

건물구조조_철골조

0.53

재산피해금액

화재진압시간

0.55

재산피해금액

건물구조조_샌드위치

0.73

재산피해금액

건물구조조_합성수지

0.69

재산피해금액

건물구조조_슬라브가

0.63

출동소요시간

안전센터거리

0.81

출처: 부산광역시 화재 사고 출동 데이터[소방 빅데이터 플랫폼]

소방인력

재산피해

진압시간

0.55

0.4

0.55

8 of 40

목차 - 기획 배경

상관분석(Correlation Analysis) 수행

두 변수가 서로 어떤 선형적 관계를 갖고 있는지 분석

사고 처리 및 대응과 밀접한 관련이 있는 변수만을 선발하여 활용

상관계수가 0.4 이상일때부터 변수간 밀접한 관계가 존재한다고 판단

Element1

Element2

Corr

소방 인력

화재진압시간

0.55

소방 인력

재산피해금액

0.4

소방 인력

건물구조조_철골조

0.53

재산피해금액

화재진압시간

0.55

재산피해금액

건물구조조_샌드위치

0.73

재산피해금액

건물구조조_합성수지

0.69

재산피해금액

건물구조조_슬라브가

0.63

출동소요시간

안전센터거리

0.81

출처: 부산광역시 화재 사고 출동 데이터[소방 빅데이터 플랫폼]

소방인력

재산피해

진압시간

0.55

0.4

0.55

소방인력 재배치를 통한

피해 감소 가능성 확인

9 of 40

목차 - 주제 소개

소방인력 배치를 최적화해서, 사고피해를 감소시키자!

10 of 40

02. 수행과정

11 of 40

수행과정 - 시스템 요약

초기해 생성

적합도 검정&선택

교차 연산

변이 연산

데이터 로드

회귀 모델

생성

데이터 분할

(필요시 군집)

회귀 모델

학습

사고 피해

예측

결과 비교

데이터 로드

컬럼 선별

소방력 추가

이상치 제거

더미화

레이블

인코딩

NaN 처리

스케일링

순서 의미

데이터 저장

데이터

전처리

Genetic

Regression

사고 피해

예측

데이터 변경

(재배치된 소방인력)

12 of 40

수행과정 - 주요 단계

데이터 선별

소방력 최적화

효과 검증

13 of 40

수행과정 - 주요 단계

데이터 선별

소방력 최적화

효과 검증

[ 전처리 기술 ]

[ 최적화 알고리즘 ]

[ 회귀 모델 ]

14 of 40

수행과정 - 활용 데이터

데이터 선별

[ 전처리 기술 ]

15 of 40

수행과정 - 활용 데이터

1. 부산광역시 화재 사고 출동 데이터 [소방 빅데이터 플랫폼]

기간: 2021년

변수 정보(1140row x 60col)

시간(발생, 신고, 출동, 진압) & 장소(건물 특성 대분류, 좌표) & 피해(부상, 사망, 재산) & 환경(기온, 습도, 강수량)

2. 부산광역시 소방인력 배치 데이터 [부산시 소방 재난 본부]

기간: 2021년

변수 정보

119 안전센터별 소방 공무원 수

16 of 40

수행과정 - 활용 데이터

데이터 전처리란?

데이터를 분석 및 처리에 적합한 형태로 만드는 과정

소방 출동 데이터에 소방인력 수 컬럼을 추가 후 전처리 수행

17 of 40

수행과정 - 활용 데이터

1

2

5

4

3

이상 컬럼 제거

(내용 중복 등)

이상치 제거

(IQR*1.5 활용)

인코딩

(더미변수화, 레이블 인코딩)

NaN값 처리

(삭제 또는 대체)

스케일링

(MinMax)

985row x 117col

18 of 40

수행과정 - 사용기술

소방력 최적화

[ 유전 알고리즘 ]

19 of 40

수행과정 - 사용기술

특정 조건하에 여러 지역의 인원을 동시에 배치

인력을 예측하는 것은 적합하지 않다고 판단, 최적화(Optimization) 문제로 접근

20 of 40

수행과정 - 사용기술

유전 알고리즘(Genetic Algorithm)

생물의 진화와 유전자의 적자생존 원리에 기반한 휴리스틱 기법

랜덤 해를 생성하고, 최적해를 찾을 때까지 교차와 변이를 반복 수행

초기 해 생성

랜덤한 값의 유전자들이

모인 세대 생성

선택

점수가 높은

상위 20개 유전자만

선택

적합도 평가

초기 해의

적합도 점수 계산

(센터별 담당사고수의 표준편차)

 

교차 연산

2개의 랜덤한 부모 유전자 지정 후,

교차 연산으로 자손 생성

변이 연산

랜덤하게 하나의 유전자

선택, 정보를 변경하여

돌연변이 생성(0.001)

21 of 40

수행과정 - 사용기술

센터명

센터별

사고수

재배치 전

근무인원

재배치 후

근무인원

부전

62

51

72

양정

49

31

62

광안

48

64

64

범일

45

42

61

연산

43

55

57

부곡

39

59

51

사직

33

28

46

온천

33

28

46

신평

33

63

43

수안

32

49

38

센터명

센터별

사고수

재배치 전

근무인원

재배치 후

근무인원

대연

31

42

40

가야

27

30

38

반여

23

34

38

좌동

23

31

40

서동

23

42

37

부민

22

39

35

신호

22

30

39

충무

22

30

35

삼락

21

64

34

-

-

-

-

22 of 40

수행과정 - 사용기술

센터명

센터별

사고수

재배치 전

근무인원

재배치 후

근무인원

부전

62

51

72

양정

49

31

62

광안

48

64

64

범일

45

42

61

연산

43

55

57

부곡

39

59

51

사직

33

28

46

온천

33

28

46

신평

33

63

43

수안

32

49

38

센터명

센터별

사고수

재배치 전

근무인원

재배치 후

근무인원

대연

31

42

40

가야

27

30

38

반여

23

34

38

좌동

23

31

40

서동

23

42

37

부민

22

39

35

신호

22

30

39

충무

22

30

35

삼락

21

64

34

-

-

-

-

23 of 40

수행과정 - 사용기술

센터명

센터별

사고수

재배치 전

근무인원

재배치 후

근무인원

부전

62

51

62

양정

49

31

62

광안

48

64

56

범일

45

42

56

연산

43

55

56

부곡

39

59

47

사직

33

28

45

온천

33

28

45

신평

33

63

45

수안

32

49

45

센터명

센터별

사고수

재배치 전

근무인원

재배치 후

근무인원

대연

31

42

45

가야

27

30

40

반여

23

34

40

좌동

23

31

40

서동

23

42

40

부민

22

39

36

신호

22

30

36

충무

22

30

36

삼락

21

64

34

-

-

-

-

24 of 40

수행과정 - 사용기술

사고 수에 따라 센터별 인원이 재배치된 것을 확인 가능

센터명

센터별

사고수

재배치 전

근무인원

재배치 후

근무인원

부전

62

51

72

양정

49

31

62

광안

48

64

64

범일

45

42

61

연산

43

55

57

부곡

39

59

51

사직

33

28

46

온천

33

28

46

신평

33

63

43

수안

32

49

38

센터명

센터별

사고수

재배치 전

근무인원

재배치 후

근무인원

대연

31

42

40

가야

27

30

38

반여

23

34

38

좌동

23

31

40

서동

23

42

37

부민

22

39

35

신호

22

30

39

충무

22

30

35

삼락

21

64

34

-

-

-

-

25 of 40

수행과정 - 사용기술

재배치 전

근무인원 총계 (표준편차)

재배치 후

근무인원 총계 (표준편차)

2060 (1.58)

2021 (1.54)

→ 기존 인력보다 적은 수로 재배치하여 최적화의 본래 의도를 보장

사고 수가 적은 센터도 최소 10명 이상 근무 보장

26 of 40

수행과정 - 사용기술

효과 검증

[ 회귀 모델 ]

27 of 40

수행과정 - 사용기술

‣ 유사한 데이터끼리 그룹화

‣ 조절 불가한 특성을 기준으로 사용

‣ Elbow 기법 기반으로 그룹 수 결정

‣ 각 군집별 데이터가 불균형하여 사용x

Cluster

Principle Component Analysis(주성분 분석)

‣ 다차원을 축소

‣ 상관분석 기반으로 컴포넌트 결정

‣ 교차 검증 정확도가 유의하지 않아 사용x

PCA

‣ LR (R2: 0.403 & Mse: 0.018)

‣ Ridge (R2: 0.204 & Mse: 0.024)

‣ Lasso (R2: 0.000 & Mse: 0.031)

‣ Elastic (R2: -0.062 & Mse: 0.131)

Model

효과 검증

소방인력 재배치를 통한 피해 감소 효과를 검증하는 과정

다중 선형 회귀문제로 접근

화재로 인한 재산 피해금액 정보를 종속변수로 사용

소방인력 및 화재사고 정보를 독립변수로 사용

소방인력 변수를 재배치된 수치로 변경하여 재산피해 재예측

재배치 전/후의 피해 예측치를 비교하여 감소했다면 효과가 있다고 판단

28 of 40

수행과정 - 사용기술

‣ 유사한 데이터끼리 그룹화

‣ 조절 불가한 특성을 기준으로 사용

‣ Elbow 기법 기반으로 그룹 수 결정

‣ 각 군집별 데이터가 불균형하여 사용x

Cluster

Principle Component Analysis(주성분 분석)

‣ 다차원을 축소

‣ 상관분석 기반으로 컴포넌트 결정

‣ 교차 검증 정확도가 유의하지 않아 사용x

PCA

‣ LR (R2: 0.403 & Mse: 0.018)

‣ Ridge (R2: 0.204 & Mse: 0.024)

‣ Lasso (R2: 0.000 & Mse: 0.031)

‣ Elastic (R2: -0.062 & Mse: 0.131)

Model

29 of 40

수행과정 - 사용기술

Dence Layer

Epochs: 1750, Loss(Mse): 0.08, R2: 0.93

Dense_Input

Input:

[(None, 116)]

Input_Layer

Output:

[(None, 116)]

Dense_0

input:

(None, 64)

Dense_0

output:

(None, 32)

Dense_2

Input:

(None, 32)

Dense_2

Output:

(None, 1)

Dropout_1

Input:

(None, 64)

Dropout_1

Output:

(None, 64)

Dense_0

Input:

(None, 116)

Dense_0

Output:

(None, 64)

Dense_Input

Input:

[(None, 116)]

Input_Layer

Output:

[(None, 116)]

Dense_2

Input:

(None, 128)

Dense_2

Output:

(None, 64)

Dense_3

Input:

(None, 64)

Dense_3

Output:

(None, 1)

Dense_1

Input:

(None, 256)

Dense_1

Output:

(None, 128)

Dense_0

Input:

(None, 116)

Dense_0

Output:

(None, 256)

Dense_Input

Input:

[(None, 116)]

Input_Layer

Output:

[(None, 116)]

Dense_2

Input:

(None, 32)

Dense_2

Output:

(None, 16)

Dense_3

Input:

(None, 16)

Dense_3

Output:

(None, 1)

Dense_1

Input:

(None, 64)

Dense_1

Output:

(None, 32)

Dense_0

Input:

(None, 116)

Dense_0

Output:

(None, 64)

30 of 40

수행과정 - 사용기술

Dence Layer

Epochs: 1750, Loss(Mse): 0.08, R2: 0.93

Dense_Input

Input:

[(None, 116)]

Input_Layer

Output:

[(None, 116)]

Dense_1

input:

(None, 64)

Dense_1

output:

(None, 32)

Dense_2

Input:

(None, 32)

Dense_2

Output:

(None, 1)

Dropout_1

Input:

(None, 64)

Dropout_1

Output:

(None, 64)

Dense_0

Input:

(None, 116)

Dense_0

Output:

(None, 64)

Dense_Input

Input:

[(None, 116)]

Input_Layer

Output:

[(None, 116)]

Dense_2

Input:

(None, 128)

Dense_2

Output:

(None, 64)

Dense_3

Input:

(None, 64)

Dense_3

Output:

(None, 1)

Dense_1

Input:

(None, 256)

Dense_1

Output:

(None, 128)

Dense_0

Input:

(None, 116)

Dense_0

Output:

(None, 256)

Dense_Input

Input:

[(None, 116)]

Input_Layer

Output:

[(None, 116)]

Dense_2

Input:

(None, 32)

Dense_2

Output:

(None, 16)

Dense_3

Input:

(None, 16)

Dense_3

Output:

(None, 1)

Dense_1

Input:

(None, 64)

Dense_1

Output:

(None, 32)

Dense_0

Input:

(None, 116)

Dense_0

Output:

(None, 64)

31 of 40

수행과정 - 사용기술

Dence Layer

Epochs: 1750, Loss(Mse): 0.08, R2: 0.93

Dense_Input

Input:

[(None, 116)]

Input_Layer

Output:

[(None, 116)]

Dense_2

Input:

(None, 128)

Dense_2

Output:

(None, 64)

Dense_3

Input:

(None, 64)

Dense_3

Output:

(None, 1)

Dense_1

Input:

(None, 256)

Dense_1

Output:

(None, 128)

Dense_0

Input:

(None, 116)

Dense_0

Output:

(None, 256)

Dense_Input

Input:

[(None, 116)]

Input_Layer

Output:

[(None, 116)]

Dense_2

Input:

(None, 32)

Dense_2

Output:

(None, 16)

Dense_3

Input:

(None, 16)

Dense_3

Output:

(None, 1)

Dense_1

Input:

(None, 64)

Dense_1

Output:

(None, 32)

Dense_0

Input:

(None, 116)

Dense_0

Output:

(None, 64)

Dense_Input

Input:

[(None, 116)]

Input_Layer

Output:

[(None, 116)]

Dense_0

input:

(None, 64)

Dense_0

output:

(None, 32)

Dense_2

Input:

(None, 32)

Dense_2

Output:

(None, 1)

Dropout_1

Input:

(None, 64)

Dropout_1

Output:

(None, 64)

Dense_0

Input:

(None, 116)

Dense_0

Output:

(None, 64)

32 of 40

수행과정 - 사용기술

Dence Layer

Epochs: 1750, Loss(Mse): 0.08, R2: 0.93

Dense_Input

Input:

[(None, 116)]

Input_Layer

Output:

[(None, 116)]

Dense_2

Input:

(None, 32)

Dense_2

Output:

(None, 16)

Dense_3

Input:

(None, 16)

Dense_3

Output:

(None, 1)

Dense_1

Input:

(None, 64)

Dense_1

Output:

(None, 32)

Dense_0

Input:

(None, 116)

Dense_0

Output:

(None, 64)

Dense_Input

Input:

[(None, 116)]

Input_Layer

Output:

[(None, 116)]

Dense_1

input:

(None, 64)

Dense_1

output:

(None, 32)

Dense_2

Input:

(None, 32)

Dense_2

Output:

(None, 1)

Dropout_1

Input:

(None, 64)

Dropout_1

Output:

(None, 64)

Dense_0

Input:

(None, 116)

Dense_0

Output:

(None, 64)

Dense_Input

Input:

[(None, 116)]

Input_Layer

Output:

[(None, 116)]

Dense_2

Input:

(None, 128)

Dense_2

Output:

(None, 64)

Dense_3

Input:

(None, 64)

Dense_3

Output:

(None, 1)

Dense_1

Input:

(None, 256)

Dense_1

Output:

(None, 128)

Dense_0

Input:

(None, 116)

Dense_0

Output:

(None, 256)

33 of 40

수행과정 - 결과

인력 재배치에 따라 사고 피해값이 감소함을 확인

실제 재산피해

재배치 전

재산피해 예측값

재배치 후

재산피해 예측값

0.27347

0.26721

0.21436

0.23824

0.23019

0.17528

0.21932

0.20973

0.16219

0.18649

0.17821

0.14012

0.12184

0.11427

0.06894

0.10337

0.09772

0.09744

*종속변수=재산피해, 독립변수=사고 특성 변수

34 of 40

03. 마무리

35 of 40

마무리 - 차별성

재배치의 효과 검증

인력 재배치에는 많은 시간과 예산이 소요

기존 연구 사례

상관계수 비교만을 통한

수치적 효과 검증

제안방안

높은 정확도의 예측 모델로 직관적인 효과 검증

36 of 40

마무리 - 기대효과

1. 소방관들의 육체적, 정신적 스트레스 감소

2. 노동 환경 개선

3. 효율적인 출동 & 골든 타임 확보 가능성 증가

4. 예산 분배 효율화

37 of 40

마무리 - 활용방안

1. 다양한 분야에서의 접목 가능성

수난사고, 산악사고와 같은 재난 사고

인력배치가 필요한 타분야

2. 다양한 지역에서의 적용 가능성

화재 사고 데이터의 제한적인 범위로 인한 분석과정에서의 애로사항

다양한 지역의 데이터를 활용한다면 전국적인 단위에서 인력 최적화 가능

38 of 40

마무리 - 향후 연구 방향

1. 현행 연구 사례

사고 수만을 기반으로 인력 배치

2. 제안 연구 방향

→ 사고 발생 환경 또는 규모를 최적화 과정에 함께 반영하여 더욱 정확한 인력 배치

39 of 40

End.

40 of 40

https://drive.google.com/drive/folders/1JSE5TfcubipIJig8DdmejulgSNB1cMz2?usp=sharing