지금까지 호야와 스킨답서스의 데이터를 살펴보면서 두 식물이 꽤 다르다는 것을 확인했습니다.

물주기 간격도 달랐고, 물을 준 직후의 토양 수분 센서값도 달랐습니다.

화분이 마르는 속도도 달랐습니다.

그런데 여기서 한 가지 생각이 들었습니다.

두 식물의 숫자가 다른 것은 당연한데, 혹시 '마르는 과정의 모양'은 비슷하지 않을까?

그래서 이번에는 숫자의 크기를 비교하는 대신, 두 식물의 물주기 사이클을 같은 출발점과 도착점으로 맞춰서 겹쳐봤습니다.

결과는 예상보다 흥미로웠습니다.

1. 먼저 두 식물은 숫자만 보면 상당히 다르다

같은 방식으로 측정했지만 호야와 스킨답서스의 토양 수분 센서값은 상당히 달랐습니다.

대표적인 물주기 직후의 센서값은

호야 약 2507 ADC

스킨답서스 약 2031 ADC

였습니다.

다음 물주기 직전에는 각각 약 1090과 964 정도였습니다.

한 번의 물주기 사이클에서 감소하는 센서값의 범위도 달랐습니다.

호야는 약 1403 ADC, 스킨답서스는 약 1065 ADC였습니다.

건조 속도도 달랐습니다.

호야는 대표적으로 약 133 ADC/day, 스킨답서스는 약 166 ADC/day로 스킨답서스가 더 빠르게 마르는 모습을 보였습니다.

숫자만 보면 상당히 다른 두 화분입니다.

2. 그래서 절대적인 센서값만 비교하면 문제가 생긴다

예를 들어 두 화분의 토양 수분 센서가 똑같이 1800을 가리키고 있다고 생각해보겠습니다.

같은 센서값이니 두 식물의 수분 상태도 같다고 생각하기 쉽습니다.

하지만 그렇지 않습니다.

호야에서 1800은 자신의 건조 범위에서 대략 중간 정도까지 진행된 상태일 수 있습니다.

반면 스킨답서스에서는 상대적으로 더 젖어 있는 상태일 수 있습니다.

즉, ADC 1800이라는 숫자 자체보다 중요한 것은 그 숫자가 '그 식물의 평소 범위에서 어디쯤인가'입니다.

이 문제를 해결하기 위해 데이터를 조금 다른 방식으로 바꿔봤습니다.

3. 모든 물주기 사이클을 0~100%로 바꿔보자

방법은 생각보다 간단합니다.

먼저 물을 준 직후의 상태를

건조 진행률 0%

로 놓습니다.

그리고 다음 물주기 직전의 가장 마른 상태를

건조 진행률 100%

로 놓습니다.

그 사이의 토양 수분값은 모두 0~100% 사이의 값으로 변환합니다.

예를 들어 한 사이클에서

물주기 직후 = 2500

다음 물주기 직전 = 1000

이었다고 해보겠습니다.

현재 센서값이 1750이라면 전체 건조 범위의 절반 정도를 지나온 셈입니다.

즉, 건조 진행률 약 50%입니다.

이렇게 하면 호야의 ADC 1800과 스킨답서스의 ADC 1800을 직접 비교하는 대신,

호야의 건조 진행률 50%와 스킨답서스의 건조 진행률 50%를 비교할 수 있습니다.

4. 시간도 0~100%로 바꿨다

시간도 같은 방식으로 정규화했습니다.

호야의 어떤 물주기 사이클이 14일이었다고 하고, 스킨답서스의 어떤 사이클이 8일이었다고 해보겠습니다.

절대적인 날짜로 비교하면 두 사이클의 길이가 다르기 때문에 직접 겹쳐보기 어렵습니다.

그래서

물을 준 순간 = cycle progress 0%

다음 물주기 직전 = cycle progress 100%

로 바꿨습니다.

그러면 14일짜리 사이클과 8일짜리 사이클도 같은 축 위에 놓을 수 있습니다.

결국 그래프의 가로축과 세로축이 모두 0~100%가 됩니다.

가로축: 물주기 사이클이 얼마나 진행되었는가

세로축: 토양 건조가 얼마나 진행되었는가

이제 식물마다 다른 ADC값과 서로 다른 물주기 기간을 걷어내고 '마르는 과정의 모양' 자체를 비교할 수 있습니다.

5. 그런데 두 곡선을 겹쳐보니 놀랍게도 비슷했다

그 결과가 다음 그래프입니다.

그래프에는 호야의 평균 건조곡선과 스킨답서스의 평균 건조곡선이 함께 표시되어 있습니다.

그리고 비교를 위해 y = x인 직선도 함께 표시했습니다.

만약 건조가 사이클 진행시간에 거의 비례해서 진행된다면 이 직선에 가까운 모양이 됩니다.

결과를 보면 호야의 평균 건조곡선은 거의 이 직선에 가깝습니다.

그런데 더 흥미로운 것은 스킨답서스입니다.

두 식물의 곡선이 상당히 비슷합니다.

절대적인 센서값도 다르고,

물주기 주기도 다르고,

건조 속도도 다른데,

각자의 범위에서 0~100%로 바꾸자 상당히 비슷한 궤적이 나타난 것입니다.

6. 완전히 똑같은 것은 아니다

물론 두 곡선이 완전히 일치하는 것은 아닙니다.

사이클 진행 단계별로 비교하면 다음과 같습니다.

물주기 사이클 진행
호야 건조 진행
스킨답서스 건조 진행
10%
8.3%
9.8%
25%
23.3%
27.2%
50%
50.8%
55.9%
75%
76.8%
81.5%
90%
91.9%
93.8%

차이가 가장 커지는 것은 사이클 중간 부분입니다.

사이클의 50% 지점에서 호야는 평균적으로 50.8% 정도 건조되어 있었지만 스킨답서스는 55.9%까지 진행되어 있었습니다.

약 5.1 percentage point 차이입니다.

즉 스킨답서스가 사이클 중반부에서 조금 더 앞서 마르는 경향이 있습니다.

하지만 사이클의 시작과 끝에서는 다시 차이가 작아집니다.

두 평균 건조곡선 전체의 차이를 RMSE로 계산하면 약 3.97 percentage point였습니다.

서로 다른 두 식물이라는 점을 생각하면 상당히 비슷한 형태입니다.

7. 이것은 꽤 중요한 결과일지도 모른다

처음에는 식물마다 전혀 다른 건조곡선을 가질 것이라고 생각할 수도 있습니다.

실제로 절대적인 센서값을 보면 그렇게 보입니다.

하지만 정규화하고 나니 다른 모습이 나타났습니다.

절대값은 다르지만 상대적인 건조 과정은 비슷했습니다.

이것은 식물 데이터를 바라보는 방법에 중요한 힌트를 줍니다.

모든 식물에게

"ADC 1000이 되면 물을 주세요."

같은 하나의 절대 기준을 적용하는 것은 적절하지 않을 수 있습니다.

대신 각각의 식물이 평소에 보여주는 가장 젖은 상태와 다시 물을 주는 상태를 학습한 뒤,

현재 그 범위에서 몇 %까지 진행되었는지를 보는 방법이 더 합리적입니다.

예를 들어 "현재 토양 수분 1673"이라고 보여주는 것보다,

"현재 이 식물은 평소 건조 사이클의 약 65%까지 진행되었습니다."

라고 표현하는 것이 실제 관리에는 더 의미 있는 정보가 될 수 있습니다.

8. 그렇다면 모든 식물에 공통된 '건조곡선'이 있을까?

여기서 더 흥미로운 질문이 생깁니다.

호야와 스킨답서스처럼 서로 다른 식물을 정규화했는데도 비슷한 곡선이 나타났다면,

모든 식물에 적용할 수 있는 공통적인 건조곡선이 존재하는 것은 아닐까요?

가장 단순한 형태는

건조 진행률 = 물주기 사이클 진행률

즉 D(P) = P입니다.

이번 호야 데이터는 실제로 이 직선에 상당히 가까웠고, 스킨답서스도 약간의 차이는 있지만 비슷한 형태를 보였습니다.

조금 더 발전시키면 식물마다 곡선의 형태를 나타내는 작은 보정값 하나만 학습하는 방법도 생각할 수 있습니다.

그러면 복잡한 모델 없이도 각 식물의 젖은 상태, 마른 상태, 평균 물주기 기간, 건조곡선의 모양 정도만 학습해서 식물마다 다른 물주기 패턴을 표현할 수 있을지도 모릅니다.

9. 하지만 아직 '모든 식물의 보편 법칙'이라고 말할 수는 없다

여기서는 특히 조심할 필요가 있습니다.

현재 비교한 것은 사실상 호야 한 개체와 스킨답서스 한 개체입니다.

따라서 이 결과만으로

"모든 식물은 같은 건조곡선을 가진다."

라고 말할 수는 없습니다.

화분 크기, 토양 종류, 식물 크기, 뿌리의 양, 센서 위치, 물을 주는 양 등이 달라지면 결과도 달라질 수 있습니다.

종 수준의 차이를 이야기하려면 같은 종의 여러 독립적인 개체도 비교해야 합니다.

그래서 현재 단계에서 말할 수 있는 것은 이 정도입니다.

'호야와 스킨답서스의 절대적인 토양 수분 범위와 물주기 리듬은 달랐지만, 각자의 물주기 사이클을 정규화하자 평균 건조곡선은 상당히 비슷해졌다.'

이것만으로도 충분히 흥미로운 결과입니다.

발견 5: 식물마다 숫자는 달라도 '마르는 과정의 모양'은 비슷할 수 있다

이번 분석에서 가장 재미있는 것은 처음과 마지막의 대비입니다.

호야와 스킨답서스는 분명 다릅니다.

물주기 간격도 다르고,

센서의 절대값도 다르고,

건조 속도도 다릅니다.

그런데 각 식물이 가진 범위 안에서

시간을 0~100%,

건조 정도를 0~100%

로 바꾸자 두 식물의 차이가 크게 줄어들었습니다.

그래서 다섯 번째 발견은 이것입니다.

식물마다 절대적인 물주기 리듬은 달라도, 상대적인 건조 진행 패턴에는 공통된 형태가 존재할 가능성이 있다.

그리고 이것은 마지막 질문으로 이어집니다.

지금까지 우리는 이미 끝난 물주기 사이클을 분석했습니다.

그렇다면 이 반복되는 패턴을 이용해서 아직 오지 않은 다음 물주기 시점을 미리 예상할 수 있을까요?

단순히 흙이 마른 뒤

"이제 물을 주세요."

라고 알려주는 것이 아니라,

물을 준 직후부터

"이 식물은 평소 패턴이라면 약 10일 후 다시 물이 필요할 가능성이 있습니다."

라고 예상하는 것입니다.

그리고 시간이 지나 실제 건조 데이터가 쌓이면 그 예측을 계속 수정할 수도 있습니다.

다음 글에서는 지금까지 발견한 건조 패턴을 이용해 실제로 다음 물주기까지 남은 날짜를 예측해보고, 그 예측이 얼마나 정확했는지 살펴보겠습니다.

식물 관찰기 6편 — 다음 물주기를 7~10일 전에 예측할 수 있을까?

#식물관찰 #식물데이터 #호야 #스킨답서스 #토양수분 #물주기 #건조곡선 #식물센서 #스마트화분

+ Recent posts