When given a table of values such as this:
\begin{array}{|c|ccc|} \hline x & 1 & 3 & 7 & 9 & 10 \\ \hline f(x) & 6 & 3 & 1 & 2 & 15\\ \hline \end{array}
I want to estimate the value of $f'(7)$, but I'm not sure which way I'm supposed to estimate. For example, I could find the average rate of change over $[3, 7]$, and also over $[7, 9]$, then average the results:
$${f(9)-f(7) \over 9-7} = {2-1\over 9-7} = \frac 12$$ $${f(7)-f(3) \over 7-3} = {1-3\over 7-3} = -\frac 12$$
This results in an average of $0$, thus an estimate $f'(7)\approx 0$. But I could also just take the average rate of change over $[3, 9]$:
$${f(9)-f(3) \over 9-3} = {2-3\over 9-3} = -\frac 16$$
Which gives an estimate of $f'(7) \approx -\frac 16$. Which one should I use, and in which contexts? Does this depend on the function $f$ (such as concavity), and if so, how?

There is no single way how to do this. One thing that comes to my mind is to find a polynomial equation (of 4th degree) that passes through these points in your table. Once you have that polynomial equation, you may take a derivative and find $f'(7)$. Note: Even then the result is an estimate because you are not given that the function in question happens to be of polynomial nature. It is just an estimation. But I think it would be a good one. Do you know how to find this polynomial? I can update on that if you wish. Let me know!