LFD Book Forum (http://book.caltech.edu/bookforum/index.php)
-   Homework 4 (http://book.caltech.edu/bookforum/forumdisplay.php?f=133)

 mvellon 04-28-2013 04:19 PM

To calculate I generated several data sets each of two points where y=sin(pi*x). For each dataset, I generated a hypothesis (a slope a) that minimized the squared error for each of the two points. I did this by calculating the error as , differentiating with respect to a, setting the result to zero and solving for a. This gave me . If I then average my per-dataset slopes (the a's), I get 1.42.

This seems wrong, not only as it's not an available choice (:)) but also because it does not yield a smaller bias than, for example, .79.

I've seen suggestions to use linear regression to calculate the a's, but I don't think that's where I'm going wrong (not only that, but I'm not sure how to do the linear regression without an intercept term).

 yaser 04-28-2013 04:59 PM

Quote:
 Originally Posted by mvellon (Post 10623) This seems wrong, not only as it's not an available choice (:)) but also because it does not yield a smaller bias than, for example, .79.
Your procedure is correct. Just to address the above point without commenting on the correctness of your calculation, there is an available choice for your answer, and there is no requirement that the slope is less than 0.79.

 marek 04-28-2013 05:02 PM

For what it's worth, I think you're calculating 4 correctly. After 10^6 runs, my average a was 1.4301. It was unsettling to not see my answer among those listed, especially since the others depend on correctly interpreting this question. It would be nice to get further corroboration, simply because none of the above doesn't mean 1.43 was correct.

However, I believe your bias calculation may be off, as your conclusion is different than what I obtained despite having roughly the same a.

 jcmorales1564 04-29-2013 05:11 AM

I calculated it in two different ways and I get a consistent answer that is higher than answer [d] (0.79x). I am unsure as to how far away the answer must be to consider it answer [e] ("None of the Above")?

The difference between answers [c] and [d] is 0.34x. May I assume that if my answer is 1.13x or above (from 0.79x + 0.34x = 1.13x) then [e] "None of the above" is the correct answer (and viceversa)?

I need guidance as to how to determine, in general, how far is "far away" so that I can decide between answers [d] and [e].

Thank you.

Juan

 IsidroHidalgo 04-29-2013 08:21 AM

Juan, after the derivative of the mean squarred error have you arrived to ?
If so, answer is IMO (I haven't send my answers) clearly upon 0.79
Good luck!
Isidro

 IsidroHidalgo 04-29-2013 08:27 AM

Quote:
 Originally Posted by mvellon (Post 10623) To calculate I generated several data sets each of two points where y=sin(pi*x). For each dataset, I generated a hypothesis (a slope a) that minimized the squared error for each of the two points. I did this by calculating the error as , differentiating with respect to a, setting the result to zero and solving for a. This gave me . If I then average my per-dataset slopes (the a's), I get 1.42. This seems wrong, not only as it's not an available choice (:)) but also because it does not yield a smaller bias than, for example, .79. I've seen suggestions to use linear regression to calculate the a's, but I don't think that's where I'm going wrong (not only that, but I'm not sure how to do the linear regression without an intercept term).
I think you have a typo, is'n it? For me :clueless:

Quote:
 Originally Posted by IsidroHidalgo (Post 10646) I think you have a typo, is'n it? For me :clueless:
Yes, that's what I got too. So you're saying that with using this formula, you're getting 0.79, and not 1.42 as mentioned in a couple of other threads?

 IsidroHidalgo 04-29-2013 08:49 AM

Not at all. Using this a I obtain 1.42...

 yaser 04-29-2013 09:54 AM

Quote:
 Originally Posted by jcmorales1564 (Post 10641) I am unsure as to how far away the answer must be to consider it answer [e] ("None of the Above")?
Your answer should agree with the given answer to two-decimal-digit accuracy as stated in the problem, or else be considered "none of the above."

 jcmorales1564 04-29-2013 10:03 AM

I also obtain 1.42 with the formula you mention which is based on deriving WRT "a" and equalling to zero to minimize. I also calculated 1.4 by finding the "a" for each value of x1 and x2 and then selecting the "a" associated with the smaller mean squared error.

The answer (a = 1.4), which is higher than the case discussed in class, makes sense to me because the line is forced to pass through zero. It can only rotate about the origin. It removes the translational degree of freedom that would otherwise be available when the intercept is included (y = ax + b). In that latter case any two points are used to create the line (the case discussed in class), and there is a high probability of obtaining many more cases with slope close to zero so I would expect "a" to be lower when using y=ax + b (after calculating the average of many cases). It also makes sense that b tends to zero.

Supposing 1.42 is the correct value, should it be [d] or [e]?

To "d", or not to "d", that is the question :D

 jcmorales1564 04-29-2013 10:05 AM

Quote:
 Originally Posted by yaser (Post 10649) Your answer should agree with the given answer to two-decimal-digit accuracy as stated in the problem, or else be considered "none of the above."
Thank you, professor. I responded a few minutes ago, apparently just at the same time that you did. I had not seen your reply.

Juan

 Elroch 04-30-2013 09:27 AM

One absurdly simple way to get a handle on the plausibility of the result all of us doubted is to see what the range of possible slopes is, and guess it might be near the middle.

Observe that if two points are very near the origin, the slope can be but no higher. If they are at the furthest extremes, the slope can be zero, but no lower. The mean of this range of possible slopes is 1.57. :)

 GB449 09-09-2013 09:53 PM

Quote:
 Originally Posted by IsidroHidalgo (Post 10646) I think you have a typo, is'n it? For me :clueless:
I have simulated 100K points using this formula for slope and taken the average. I have run this a number of times but each time I get a different slope all of which are small numbers like +/- 0.00X

The random points (x1, y1) and (x2, y2) I generated are all between -1 and 1. Is the slope I am getting small because the random numbers are between -1 and 1? After all, I am dividing by 100K.

Here's the code
double slope = ((x1*y1) + (x2*y2)) / ((x1*x1) + (x2*x2));

I sum the slopes for each point and compute average
AverageSlope = SumSlope / (double) NoOfPoints;

 All times are GMT -7. The time now is 06:02 AM.