Skip To Content

일반화된 선형 회귀(Generalized Linear Regression)

일반화된 선형 회귀일반화된 선형 회귀(GLR)를 수행하여 설명 변수 집합과의 관계에 따라 예측을 생성하거나 종속 변수를 모델링합니다. 해당 도구는 연속(가우시안), 이진(로지스틱), 개수(푸아송) 모델에 맞게 사용할 수 있습니다.

워크플로 다이어그램

일반화된 선형 회귀 워크플로 다이어그램

GeoAnalytics Tools를 사용하여 분석

GeoAnalytics Tools를 사용하는 분석은 여러 ArcGIS GeoAnalytics Server 머신 및 코어에서 분산 처리를 사용하여 실행됩니다. ArcGIS EnterpriseGeoAnalytics Tools 및 표준 피처 분석 도구에는 다양한 매개변수와 기능이 있습니다. 이러한 차이점에 대한 자세한 내용은 피처 분석 도구의 차이점을 참고하세요.

사례

  • 전력회사의 GIS 분석가가 정전 데이터셋과 기상 이변 데이터를 갖고 있습니다. 해당 분석가는 다중 변수 격자 생성 도구와 다중 변수 격자에서 보강 도구로 정전 데이터를 보강하여 정전에 대한 기상 이변 정보가 포함된 데이터셋을 생성합니다. 또한 일반화된 선형 회귀를 사용하여 정전을 일으킨 기상 이변을 확인합니다. 이러한 정보를 확보한 GIS 분석가는 정전을 예측하고 리소스를 할당할 수 있습니다.
  • 대도시 분석가의 경우 과거 119 통화 기록과 인구 통계 정보를 갖고 있습니다. 해당 분석가는 다음과 같은 질문에 답해야 합니다. 어떤 변수가 119 통화량을 효과적으로 예측하나요? 향후 예측을 감안할 때 비상 대응 리소스에 대한 수요는 어느 정도인가요?

사용 참고 사항

해당 도구는 2가지 작동 모드로 사용할 수 있습니다. 모델 성능을 평가하기 위한 모델 적합화 옵션은 여러 설명 변수와 도구 설정을 탐색할 때 다양한 모델의 성능을 평가하는 데 사용할 수 있습니다. 최적의 모델을 찾고 나면 모델 적합화 및 값 예측 옵션을 사용할 수 있습니다.

모델링하는 현상을 나타내는 필드(모델링할 필드 선택)와 설명 변수를 나타내는 하나 이상의 필드에 모델을 생성할 레이어 선택 매개변수를 사용합니다. 이러한 필드는 숫자여야 하며 다양한 값을 갖습니다. 종속 변수나 설명 변수에 누락 값이 있는 피처는 분석에서 제외됩니다. Null 값을 수정하려면 먼저 필드 계산 도구를 사용하여 업데이트된 값으로 새 레이어를 생성합니다.

또한 일반화된 선형 회귀 도구는 결과 피처와 진단을 생성합니다. 결과 피처 레이어는 모델 잔차에 적용된 렌더링 스키마를 사용하여 맵에 자동으로 추가됩니다. 각 결과에 대한 자세한 설명이 아래에 나와 있습니다.

정확한 회귀 분석 결과를 얻기 위해서는 분석에 올바른 모델(연속, 이진, 개수)을 사용해야 합니다.

모델 요약 결과와 진단은 메시지 창에 기록되며 결과 피처 클래스 아래에 차트가 생성됩니다. 보고되는 진단은 모델 유형에 따라 다릅니다. 3가지 모델 유형 옵션은 다음과 같습니다.

  • 종속 변수가 온도나 총 매출액과 같은 다양한 값을 사용할 수 있는 경우 연속(가우시안) 모델 유형을 사용합니다. 원칙적으로는 종속 변수가 정상적으로 분산됩니다.
  • 종속 변수가 성공/실패 또는 존재/부재와 같은 2개의 가능한 값 중 하나를 사용할 수 있는 경우 이진(로지스틱) 모델 유형을 사용합니다. 종속 변수를 포함하는 필드는 숫자여야 하며 1과 0만 포함할 수 있습니다. 데이터에는 1과 0이 다양하게 구성되어 있어야 합니다.

  • 종속 변수가 불연속적이며 범죄 건수와 같은 사건 발생 수를 나타내는 경우 개수(푸아송) 모델 유형을 사용합니다. 종속 변수가 비율을 나타내며 해당 비율의 분모가 월별 판매량이나 인구 10,000명당 암에 걸린 인구 수와 같은 고정값인 경우에도 개수 모델을 사용할 수 있습니다. 개수 모델은 종속 변수의 평균과 분산이 동일하며 종속 변수의 값이 음수이거나 소수가 아닌 것으로 가정합니다.

종속 변수 및 설명 변수 매개변수는 다양한 값을 포함하는 숫자 필드여야 합니다. 예를 들어 필드의 값이 모두 9.0인 경우와 같이 변수의 값이 모두 동일하면 해당 도구가 실패합니다.

예측 또는 설명 필드에 하나 이상의 Null 값 또는 빈 문자열 값이 있는 피처는 결과에서 제외됩니다. 필요한 경우 필드 계산을 사용하여 값을 수정할 수 있습니다.

회귀 잔차에 뚜렷이 나타나는 과대예측과 과소예측을 시각적으로 확인하여 이러한 예측이 회귀 모델에서 잠재적 누락 변수에 대한 단서를 제공하는지 파악해야 합니다.

다른 피처에 대한 예측을 만들기 위해 생성된 회귀 모델을 사용할 수 있습니다. 이러한 예측을 생성하려면 제공된 각각의 설명 변수에 대한 값이 각 예측 피처(값을 예측할 레이어 선택)에 있어야 합니다. 입력 피처와 예측 위치 매개변수의 필드 이름이 일치하지 않으면 변수 일치 매개변수가 제공됩니다. 설명 변수를 일치시킬 때 입력 피처와 예측 위치 매개변수의 필드는 동일한 유형이어야 합니다(예를 들어 더블 필드는 더블 필드와 일치시켜야 함).

결과

일반화된 선형 회귀 도구는 다양한 결과를 생성합니다. GLR 모델 요약과 통계 요약은 레이어의 리소스로 포털 항목 페이지에 제공됩니다. 결과 요약에 접근하려면 Map Viewer에서 결과 레이어 아래의 결과 보기 결과 보기를 클릭합니다. 해당 도구는 하나 이상의 결과 레이어와 결과 예측 피처(선택)를 생성합니다. 결과 피처는 모델 잔차에 적용된 핫/콜드 렌더링 스키마를 사용하여 Map Viewer에 자동으로 추가됩니다. 생성되는 진단은 입력 피처의 모델 유형에 따라 다르며 진단에 대한 설명이 아래에 나와 있습니다.

연속(가우시안)

메시지 및 진단 해석

  • AIC - 모델 성능에 대한 척도로, 회귀 모델을 비교하는 데 사용할 수 있습니다. 모델 복잡성을 고려하면, AIC 값이 낮은 모델일수록 관측 데이터에 대한 적합성이 더 높습니다. AIC는 절대적인 적합도 척도는 아니지만 동일한 종속 변수에 적용되는 경우 모델을 다른 설명 변수와 비교하는 데 유용합니다. 두 모델의 AIC 값이 4 이상 차이가 나는 경우 AIC 값이 낮은 모델이 더 정확한 것으로 간주됩니다.
  • AICc - AICc는 작은 표본 크기에 대한 AIC에 편향 보정을 적용합니다. AICc는 입력의 피처 수가 늘어날수록 AIC에 근접합니다. 위의 AIC를 참고하세요.
  • 다중 결정계수(Multiple R-Squared) - R 제곱은 적합도 척도입니다. 해당 값은 0.0~1.0까지 다양하며 값이 높을수록 좋습니다. 이 값은 회귀 모델에서 차지하는 종속 변수 분산의 비율로 해석할 수 있습니다. 결정계수(R-Squared) 계산의 분모는 제곱 종속 변수 값의 합입니다. 모델에 설명 변수를 더 추가하면 분모가 변경되지 않지만 분자는 변경됩니다. 이 경우 실제가 아닐 수도 있는 모델 조정 개선이라는 느낌을 줍니다. 아래의 조정된 결정계수(Adjusted R-Squared)를 참고하세요.
  • 조정된 결정계수(Adjusted R-Squared) - 위에 설명된 R 제곱 값 문제로 인해 조정 R 제곱 값 계산은 자유도에 따라 분자와 분모를 정규화합니다. 이는 모델의 변수 개수를 보상하는 효과가 있으며, 결과적으로 조정된 결정계수 값은 대개 결정계수 값보다 작습니다. 하지만 이러한 조정을 수행하면 해당 값을 설명된 분산 비율로 해석할 수 없습니다. 지리 가중 회귀분석(GWR)에서 유효 자유도 수는 사용되는 네이버후드에 대한 함수이므로 GLR 등 글로벌 모델에 비해 조정이 상당히 두드러질 수 있습니다. 이런 이유로 AICc가 모델 비교 방법으로 선호됩니다.

이진(로지스틱)

메시지 및 진단 해석

  • AIC - 모델 성능에 대한 척도로, 회귀 모델을 비교하는 데 사용할 수 있습니다. 모델 복잡성을 고려하면, AIC 값이 낮은 모델일수록 관측 데이터에 대한 적합성이 더 높습니다. AIC는 절대적인 적합도 척도는 아니지만 동일한 종속 변수에 적용되는 경우 모델을 다른 설명 변수와 비교하는 데 유용합니다. 두 모델의 AIC 값이 4 이상 차이가 나는 경우 AIC 값이 낮은 모델이 더 정확한 것으로 간주됩니다.
  • AICc - AICc는 작은 표본 크기에 대한 AIC에 편향 보정을 적용합니다. AICc는 입력의 피처 수가 늘어날수록 AIC에 근접합니다. 위의 AIC를 참고하세요.

계수(푸아송)

메시지 및 진단 해석

  • AIC - 모델 성능에 대한 척도로, 회귀 모델을 비교하는 데 사용할 수 있습니다. 모델 복잡성을 고려하면, AIC 값이 낮은 모델일수록 관측 데이터에 대한 적합성이 더 높습니다. AIC는 절대적인 적합도 척도는 아니지만 동일한 종속 변수에 적용되는 경우 모델을 다른 설명 변수와 비교하는 데 유용합니다. 두 모델의 AIC 값이 4 이상 차이가 나는 경우 AIC 값이 낮은 모델이 더 정확한 것으로 간주됩니다.
  • AICc - AICc는 작은 표본 크기에 대한 AIC에 편향 보정을 적용합니다. AICc는 입력의 피처 수가 늘어날수록 AIC에 근접합니다. 위의 AIC를 참고하세요.

제한 사항

일반화된 선형 회귀의 GeoAnalytics 구현에는 다음과 같은 제한 사항이 있습니다.

  • 해당 모델은 글로벌 회귀 모델로서 데이터의 공간 분포를 고려하지 않습니다.
  • 분석은 잔차에 대한 Moran's I 테스트를 적용하지 않습니다.
  • 피처 데이터셋(포인트, 라인, 폴리곤, 테이블)이 입력으로 지원되며 래스터는 지원되지 않습니다.
  • 값을 여러 클래스로 분류할 수 없습니다.

ArcGIS API for Python 예시

일반화된 선형 회귀 도구는 ArcGIS API for Python을 통해 제공됩니다.

이 예시에서는 데이터셋에서 모델 맞춤을 수행하고 다른 모델에 예측을 적용합니다.


# Import the required ArcGIS API for Python modules
import arcgis
from arcgis.gis import GIS

# Connect to your ArcGIS Enterprise portal and confirm that GeoAnalytics is supported
portal = GIS("https://myportal.domain.com/portal", "gis_publisher", "my_password", verify_cert=False)
if not portal.geoanalytics.is_supported():
    print("Quitting, GeoAnalytics is not supported")
    exit(1)   

# Search for and list the big data file shares in your portal
search_result = portal.content.search("", "Big Data File Share")

# Look through the search results for a big data file share with the matching name
bdfs_search = next(x for x in search_result if x.title == "bigDataFileShares_SalesData")

# Look through the big data file share for 2018 sales data to model
model_layer = next(x for x in bdfs_search.layers if x.properties.name == "2018_sales")

# Find the dataset you want to predict
predict_layer_search = portal.content.search("Sales_2025", "Feature Layer")
predict_layer = predict_layer_search[0].layers[0]


# Run the Generalized Linear Regression tool
glr_result = arcgis.geoanalytics.analyze_patterns.glr(input_layer = model_layer, 
																																																						features_to_predict = predict_layer,
																																																						var_explanatory = "salestotal, store_count, advertisingcost",
																																																						var_dependent = "chicago_crimes_enriched",
																																																						regression_family = "Count",
																																																						exp_var_matching = [{"predictionLayerField":"store_count", 
																																																					 																			"trainingLayerField": "num_of_stores"}],
																																																						output_name = "predicted_customers")

# Visualize the results if you are running Python in a Jupyter Notebook
processed_map = portal.map()
processed_map.add_layer(glr_result)
processed_map

유사한 도구

ArcGIS GeoAnalytics Server 일반화된 선형 회귀 도구는 설명 변수와의 관계에 따라 예측을 생성하거나 종속 변수 집합을 모델링하는 데 사용됩니다. 서로 비슷하지만 약간 다른 문제를 해결하는 데 유용한 기타 도구를 사용할 수 있습니다.

Map Viewer 분석 도구

ArcGIS GeoAnalytics Server 포레스트 기반 분류 및 회귀 도구를 사용하여 모델과 예측을 생성할 수 있습니다.

ArcGIS Desktop 분석 도구

ArcGIS Pro에서 해당 도구를 실행하려면 활성 포털이 Enterprise 10.7 이상이어야 합니다. GeoAnalytics 피처 분석을 수행할 수 있는 권한을 가진 계정을 사용하여 포털에 로그인해야 합니다.

일반화된 선형 회귀 지오프로세싱 도구를 공간 통계 도구상자의 일부로 사용하여 ArcGIS Pro에서 유사한 회귀 작업을 수행할 수 있습니다.

포레스트 기반 분류 및 회귀 지오프로세싱 도구를 공간 통계 도구상자의 일부로 사용하여 ArcGIS Pro에서 Leo Breiman의 랜덤 포레스트 알고리즘의 채택을 통해 모델과 예측을 생성할 수 있습니다.

지리 가중 회귀분석 지오프로세싱 도구를 공간 통계 도구상자의 일부로 사용하여 ArcGIS Pro에서 GWR을 수행할 수 있습니다.