모형에 척도 데이터가 적합했을 때 예측을하기 위해 새로운 관측치를 축척하는 방법


13

선형 회귀 모델에 사용하기 위해 데이터 매트릭스를 스케일링하는 개념을 이해합니다. 예를 들어 R에서는 다음을 사용할 수 있습니다.

scaled.data <- scale(data, scale=TRUE)

내 유일한 질문은 출력 값을 예측하려는 새로운 관찰에 대해 어떻게 정확하게 스케일링되는 것입니까? 그럴까요 scaled.new <- (new - mean(data)) / std(data)?


1
다시 값을 얻으려면 y = y_esc * sd(y) + mean(y)모델 속성이 엉망이 될 것이므로 더 기술적 인 답변을 기다리고 있습니다!
Fernando

값을 되돌리고 싶지 않습니다. 새 인스턴스를 같은 방식으로 올바르게 확장하는 방법을 알고 싶습니다. 귀하의 의견을 바탕으로 질문을 편집했습니다.
SamuelNLP

답변:


13

귀하의 질문에 대한 짧은 대답은 그렇습니다 .- scaled.new에 대한 표현식이 정확합니다 ( sd대신에 원하는 것을 제외하고 std).

scale에는 다음과 같이 사용할 수있는 선택적 인수가 있습니다.

scaled.new <- scale(new, center = mean(data), scale = sd(data))

또한 scale (scaled.data)에 의해 반환 된 객체에는 사용 된 숫자 중심 및 스케일링 (있는 경우)을 보유하는 속성이 있습니다.

scaled.new <- scale(new, attr(scaled.data, "scaled:center"), attr(scaled.data, "scaled:scale"))

이것의 장점은 원래 데이터에 둘 이상의 열이있을 때 나타나므로 고려해야 할 여러 가지 평균 및 / 또는 표준 편차가 있습니다.


나는 이렇게 좋아하는 약간 간단한 방법이 있었으면 좋겠어scaled.new <- scale(new, use.attrs = scaled.data)
wordsforthewise

@wordsforthewise scale.default에 대한 래퍼를 작성하는 것은 어렵지 않습니다. R-core가 우선 순위를 높인 것은 의심 스럽다.
user20637

네. R 코어에 기여하는 방법을 알아 내고 그것을 할 시간을 찾으면 그렇게 할 수 있습니다.
wordsforthewise
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.