Excel Power Trendline이 수행하는 작업을 설명하는 방법


최상의 답변

Excel 추세선은 데이터에 가장 적합한 최소 제곱입니다. R- 제곱 통계 (1에 가까울수록 좋음)뿐만 아니라 추세선에 대한 방정식을 표시하도록 Excel에 요청할 수 있습니다 (그리고 그래야합니다).

전력 추세선은 y = a 형식의 방정식을 사용합니다. * x ^ b, 여기서 a와 b는 추세선 마법사가 수행 한 회귀 분석에서 찾은 상수입니다.

Excel은 추세선 방정식에 충분한 자릿수를 표시하지 않습니다. 처음 표시된 방정식을 사용하여 점을 계산하려고하면 Excel에 단서가 없다는 잘못된 결론을 내릴 수 있습니다. 사실, 신발은 반대쪽에 있습니다. 추세선 방정식을 마우스 오른쪽 단추로 클릭하고 팝업에서 추세선 레이블 서식 …을 선택한 다음 결과 작업 창에서 소수점 이하 자릿수를 늘립니다.

답변

다른 사람들이 언급했듯이이 경우에는 VBA가 필요하지 않다고 생각합니다.

간단한 선형 추세선의 경우 다음을 결정할 수 있습니다. SLOPE 및 INTERCEPT 공식을 사용하여 값 X를 기반으로하는 모든 값 Y의 값. 공식은 다음과 같은 형식을 취합니다.

y = mx + b

여기서 “y”는 종속 변수, “m”은 선의 기울기, “x”는 독립 변수이고 “b”는 Y 절편입니다. A2 : A10 셀에 X 값, B2 : B10 셀에 Y 값 및 C1 셀에 원하는 “X”변수를 가정하면 다음과 같이 입력합니다.

= SLOPE (B2 : B10, A2 : A10 ) * C1 + INTERCEPT (B2 : B10, A2 : A10)

그러나 귀하의 질문은 이동 평균 추세선에 관심이 있음을 나타냅니다. 이 경우 이전 “n”관측치의 평균을 취하여 주어진 데이터 포인트를 계산할 수 있습니다. 여기서 “n”은 이동 평균의 기간 수입니다.

예를 들어 2- 기간 이동 평균 ( “n”= 2)은 단순히 마지막 두 값의 평균입니다. 간단한 예가 아래에 복사되어 있습니다.

VBA를 사용하도록 설정 한 경우이 코드는 minor 당신이 적합하다고 생각하는 수정. 그대로 X / Y 쌍의 범위를 선택하고 매크로를 실행하는 데만 작동합니다. 결과는 차트 제목이 시퀀스의 다음 XY 쌍을 나타내는 매우 기본적인 XY 분산 형 차트가됩니다.

도움이 되길 바랍니다.

Ben

Sub AddXYScatter()

Dim r As Range

Dim c As Chart

Dim x As Long

Dim s As String

Set r = Selection

If r.Columns.Count 2 Then

MsgBox "Please select your X/Y pairs and try again"

Exit Sub

End If

x = Application.InputBox("Number of Periods?", "Periods?", 2, , , , , 1)

If r.Rows.Count <= x Then

MsgBox "Not enough observations, please select more rows or reduce periods."

Exit Sub

End If

ActiveSheet.Shapes.AddChart(xlXYScatter).Select

Set c = ActiveChart

With c

.SetSourceData Source:=r

.SeriesCollection(1).Trendlines.Add

With .SeriesCollection(1).Trendlines(1)

.Type = xlMovingAvg

.Period = x

End With

.SetElement (msoElementChartTitleAboveChart)

s = "Next X | Y Pair: "

s = s & Format(WorksheetFunction.Average(r.Offset(r.Rows.Count - x, 0).Resize(x, 1)), "0.00")

s = s & " | " & Format(WorksheetFunction.Average(r.Offset(r.Rows.Count - x, 1).Resize(x, 1)), "0.00")

.ChartTitle.Text = s

End With

Set r = Nothing

Set c = Nothing

End Sub

답글 남기기

이메일 주소를 발행하지 않을 것입니다. 필수 항목은 *(으)로 표시합니다