[R] Query on ksmooth(): Theoretical step function vs. plotted diagonal segments
Jeff Newmiller
jdnewm|| @end|ng |rom dcn@d@v|@@c@@u@
Thu Mar 19 16:42:39 CET 2026
You used the lines function to plot the data. Of course it is going to show straight sloped lines between points.
On March 19, 2026 7:00:00 AM PDT, "송상은" <helen.song0206 using gmail.com> wrote:
>Dear R-help members,
>
>Hello,
>I am studying kernel regression and experimenting with the ksmooth()
>function in R.
>
>When using a box kernel, the kernel function is an indicator function
>(weight = 1 inside the bandwidth and 0 outside). Based on this definition,
>I expected the Nadaraya–Watson estimator to produce a step-like function:
>the estimate should remain constant while the set of included points is
>unchanged, and then jump when a point enters or leaves the bandwidth window.
>
>However, when I run the following code using the cars dataset:
>
>par(mfrow=c(1,1))
>with(cars, {
>plot(speed, dist)
>lines(ksmooth(speed, dist, "normal", bandwidth = 2),
>col = "blue", lwd = 3)
>lines(ksmooth(speed, dist, "box", bandwidth = 2),
>col = "darkorange", lwd = 3)
>})
>legend("topleft", c("Normal Kernel with h=2", "Box Kernel with h=2"),
>lwd = c(2,2),
>col = c("blue","darkorange"), cex = 2)
>
>the curve produced by the box kernel (dark orange) appears to contain
>diagonal line segments rather than the step-like shape I expected. I have
>attached the resulting plot for reference.
>
>My understanding is that the theoretical estimator should behave like a
>step function because the kernel weights are either 0 or 1. Therefore, I
>was wondering whether the diagonal segments arise from how ksmooth()
>evaluates the estimator on a grid of x values and then connects those
>points with straight lines for plotting, or if there is another
>implementation detail that explains this behavior.
>
>Could you please clarify whether this is expected behavior?
>
>Thank you very much for your time.
>
>Best regards,
>Sangeun Song
--
Sent from my phone. Please excuse my brevity.
[[alternative HTML version deleted]]
More information about the R-help
mailing list