I have calculated temperature difference between two model experiments. The difference is a 2D matrix (lon×lat). I want to find the grid points where the temperature differences are statistically significant at 95% significance level based on the student's t-test using MATLAB.
我已经计算了两个模型实验之间的温差。不同之处在于2D矩阵(长×长)。我想找出温差在95%显着水平上具有统计学意义的网格点,这是基于学生使用MatLab进行的t检验。
Now, I used ttest function in MATLAB like in the following:
现在,我使用了MATLAB中的Ttest函数,如下所示:
h = ttest(temp_diff,[],'Alpha',0.01)
But, h is coming as a vector of 1×231 (note that temp_diff has dimensions of 152×231, so 231 corresponds to latitude dimension). But, it should come as a 2D matrix with dimension same as temp_diff, i.e, 152×231 so that I can give markers on each significant grid points in the contourf spatial map (latitude vs longitude). So, how to do that in MATLAB? Can anyone please guide me in this regard? That will be very helpful for me. Thank you for your time and consideration.
With regards,
Ankan
H=Ttest(temp_diff,[],‘Alpha’,0.01),但是,h是一个1×231的向量(请注意,temp_diff的维度是152×231,因此231对应于纬度维度)。但是,它应该是一个维度与temp_diff相同的2D矩阵,即152×231,这样我就可以在等高线空间地图(纬度与经度)中的每个重要网格点上给出标记。那么,如何在matlab中做到这一点呢?有没有人能在这方面给我指点一下?这对我很有帮助。感谢您抽出时间考虑我的问题。说到这里,安坎
更多回答
You cannot apply a t-test to a single number. You need multiple measurements to decide if their mean is statistically different from 0 or not. This is why ttest
works on columns, it does the statistics on the set of numbers in each column.
您不能对单个数字应用t检验。您需要多次测量才能确定它们的平均值是否在统计上不同于0。这就是Ttest在列上工作的原因,它对每列中的一组数字进行统计。
Thank you @CrisLuengo for your response. So, if I want to find the grid points where the temperature differences are statistically significant at 95% significance level based on the student's t-test using MATLAB, then should I take two temperature mean value from the two experiments (which are used to compute temperature differences) like in the following: [h,p]=ttest2(temperature1_mean,temperature2_mean)?
感谢您@CrisLuengo的回复。因此,如果我想找出网格点,其中温差在95%显着水平的学生使用MATLAB的t检验,那么我是否应该从两个实验的两个温度平均值(用于计算温差)如下:[h,p]=test2(温度1_平均值,温度2_平均值)?
You cannot do what you want to do. The t-test uses multiple measurements to estimate the error in the mean. You have only one measurement per grid point, so you can't do those statistics. What you can do is estimate the error in your measurements in another way, maybe by knowing the device with which you've done the measurements. Or you can take multiple measurements.
你不能做你想做的事。T检验使用多个测量值来估计平均值中的误差。每个网格点只有一个测量值,因此不能进行这些统计。你能做的是用另一种方式估计你的测量误差,也许是通过知道你用来进行测量的设备。或者你也可以进行多次测量。
Thank you @CrisLuengo for your response.
感谢您发送编修。
我是一名优秀的程序员,十分优秀!