본문 바로가기
축산발전연구/수급관리

소 도축마릿수 예측 by 인공지능

by 큰바위얼굴. 2024. 5. 21.

딥러닝을 사용하여 도살될 소의 수를 예측하려면 일반적으로 다음 단계를 따릅니다. (by ChatGPT 3.5)

  1. 데이터 수집: 소 도축 건수에 대한 과거 데이터는 물론 시장 데이터, 소 재고 데이터, 계절 요인, 규제 정보 등 도축 건수에 영향을 미칠 수 있는 관련 기능을 수집합니다. 데이터가 포괄적이고 정확하며 관련 패턴과 추세를 포착할 수 있을 만큼 충분히 긴 기간을 포괄하는지 확인하세요.
  2. 데이터 전처리: 수집된 데이터를 전처리하여 딥 러닝 모델에 입력할 수 있도록 준비합니다. 여기에는 데이터 정리, 정규화, 크기 조정, 누락된 값 처리, 범주형 변수 인코딩, 데이터를 훈련, 검증 및 테스트 세트로 분할하는 등의 단계가 포함될 수 있습니다.
  3. 특성 엔지니어링: 수집된 데이터에서 예측 정확도를 높이는 데 도움이 될 수 있는 관련 특성을 식별하고 엔지니어링합니다. 여기에는 시간적 종속성을 포착하기 위한 시차 기능 생성, 계절 패턴 추출, 소 도축 수에 영향을 미칠 수 있는 외부 변수 통합 등이 포함될 수 있습니다.
  4. 모델 선택: 소 도축 수를 예측하는 작업에 적합한 딥 러닝 아키텍처를 선택합니다. 시계열 예측 작업을 위한 일반적인 아키텍처에는 RNN(순환 신경망), LSTM(장단기 기억) 네트워크, GRU(게이트 순환 장치) 및 Informer 모델과 같은 변환기 기반 모델이 포함됩니다.
  5. 모델 훈련: 전처리된 데이터를 사용하여 선택한 딥러닝 모델을 훈련합니다. 훈련 중에 모델은 데이터에 존재하는 복잡한 관계와 패턴을 캡처하는 방법을 학습하여 소 도축 수를 정확하게 예측할 수 있습니다.
  6. 하이퍼파라미터 튜닝: 학습률, 배치 크기, 레이어 수, 은닉 유닛 등 딥 러닝 모델의 하이퍼파라미터를 최적화하여 모델 성능과 수렴을 개선합니다.
  7. 검증 및 테스트: 별도의 검증 데이터세트에서 훈련된 모델의 성능을 평가하여 일반화 성능을 평가하고 필요한 경우 모델 매개변수를 미세 조정합니다. 마지막으로 홀드아웃 테스트 데이터 세트에서 모델을 평가하여 보이지 않는 데이터에 대한 성능을 측정합니다.
  8. 모델 배포: 훈련된 딥 러닝 모델을 프로덕션에 배포하여 소 도축 수를 실시간으로 예측하는 데 사용할 수 있습니다. 시간이 지남에 따라 모델 성능을 모니터링하고 새 데이터가 제공되면 업데이트하여 정확성과 관련성을 보장합니다.

이러한 단계를 따르고 적절한 데이터와 딥 러닝 기술을 활용하면 도살될 소의 수를 추정하기 위한 강력하고 정확한 예측 모델을 개발할 수 있습니다.

 

다음은 [특성 엔지니어링] 하는 방법론이다.

[특성 엔지니어링]

소는 태어나서 성장하고 도축된다.

내가 알고 싶은 건, 오늘 도축되는 마릿수이고, 나아가 내일 도축되는 마릿수이며, 좀 더 나아가 송아지가 태어나는 순간 도축되는 날들의 총합으로 된 도축마릿수를 알고 싶다. 

오늘 태어난 송아지를 토대로, 수소는 33개월 정도에 도축되고, 외부환경과 경영여건에 따라 도축하는 날이 앞당겨지거나 뒤로 미뤄지게 되는데 이는 가장 작은 단위의 의사결정주체인 농장주의 경영패턴에서 찾을 수 있다.

다만, 농장 단위의 출하패턴을 세밀하게 파악하여 적용하려는 접근과 달리, 소 자체의 출생, 다시말해 농장 여건에 상관없이 소가 태어난 총합 중에서 향후 도축되는 패턴을 찾아볼 수도 있다. 다만, 조절키는 약하다.

그래서, 수급조절을 위한 통제수단으로서 농장 단위를 기초로 출생으로부터 도축에 이르는 출하패턴을 찾는 것이 바람직하다. 우선, 농장은 각기 다른 특성을 지닌다. 다시말해, 농장 마다 고유한 경영패턴을 보인다. 가령, 소규모 번식을 주로하는 번식농장의 경우 20마리 혹은 50마리 정도까지 송아지를 판매한 수익으로 농장을 운영하다보면, 번식농장이라고 정의된 순간 가축시장을 통해 비육농장으로 이동하게 된다. 사실상 번식농장은 송아지 출생 부분만 살피면서, 번식농장의 각기 규모별 송아지 출생 편차를 구한다. 비육농장은 규모별 송아지 구입 편차를 구한다. 결국, 번식농장과 비육농장은 제각기 일정한 수준의 소를 사육하고 있고 이를 꾸준히 유지하려는 성향을 보이거나 점진적으로 늘려나가려는 경향을 보이기 마련이니 이에 대한 총량적 변동비(100 - 비육농 변동%/번식농 변동%)로 이에 대한 보정을 고려한다.

 * 순 번식농장 : 송아지 판매 100%, 성우 출하 0%

 * 순 비육농장 : 송아지 출생 0%, 성우 출하 100%

 * 순 일관농장 : 송아지 판매 0%, 성우 출하 100%

농장 단위로 출하마릿수를 예측하는 일은 생각 만큼 어렵지 않다. 농장 단위로 태어난 송아지 마릿수와 사육마릿수, 출하마릿수를 현재 시점으로 알고 있으면서, 과거 운영해온 실적까지 알 수 있기 때문이다. 단지, 하나의 고려사항은 농장 마다 유지성향, 성장성향, 퇴보성향을 경영주의 나이나 건강상 이유 등으로 보일 수 있다는 점이다.

농장은 약 80만호, 이를 순 번식농장, 순 비육농장, 순 일관농장을 추출한 후, 편차 범위를 정하여 번식성향 농장, 비육성향 농장, 일관성향 농장으로 나눠준다. 경계가 모호하거나 특이점은 배제를 고려한다.

농장 단위 송아지 출생, 판매와 성우 출하에 대한 패턴을 살피되, 사실상 출하패턴 만을 예측하기 위해서는 비육농장과 일관농장의 12개월령 암,수 송아지 사육마릿수 부터 접근해도 좋겠다. 예측 데이터를 줄여나가는 방향에서.

농장 마다 규모별로 고유한 출하패턴을 보일 것이다.

이를 인공지능에게 학습을 시킨다. 

순 일관농장으로써 과거에 이렇게 해왔다. 오늘 기준의 성별 개월령별 사육마릿수는 이렇다고 한다면, 언제 어느 소를 출하하는 것이 가장 경제적일까? 오늘 기준으로 소 마다 출하 적정시기를 알려줘. 이때, 소 마다 개체 성적을 고려해. 개체 성적에는 어미소의 유전형질, 사양성적 등을 고려해. 여기에서 각기 경락가격과 질병 등 외부환경 변수를 고려해.

그리고, 소 마다 적정 출하되는 시기의 마릿수를 알려줘. 

그런 다음, 순 일관농장 모두 적정 출하되는 시기의 마릿수를 합산하여 알려줘.

이는 순 비육농장 또한 마찬가지로 적용한다. 멀지않은 미래, 곧 인공지능은 인간이 수작업하거나 회귀모형으로 예측해야만 했던 방법으로부터 한 발 더 나아가 좀 더 친근한 비서로서의 역할을 수행할 것으로 기대된다. 김성호.

댓글