A self-position estimation method comprising: detecting a relative position of a target existing around a moving body relative to the moving body (S1); estimating a movement amount of the moving body (S2); and correcting the relative position on a basis of the movement amount of the moving body and accumulating the corrected relative position as target position data (S4); characterized by detecting a behavior change amount of the moving body (S3), wherein the behavior change amount includes a rotation amount of the moving body in a pitch direction, a rotation amount of the moving body in a roll direction, or an acceleration/deceleration of the moving body; selecting, from among the accumulated target position data, the target position data of the relative position detected during a period in which the behavior change amount is less than a threshold value (S5); and collating the selected target position data with map information indicating a position on a map of the target to estimate a present position of the moving body (S6), wherein when a period in which the behavior change amount is equal to or more than the threshold value continues for a predetermined length of time or longer, the target position data of the relative position detected during a period other than the period in which the behavior change amount is equal to or more than the threshold value is selected and collated with the map information, and when the period in which the behavior change amount is equal to or more than the threshold value does not continue for the predetermined length of time or longer, the target position data of the relative position detected during the period in which the behavior change amount is equal to or more than the threshold value is included in the target position data to be collated with the map information. detecting a relative position of a target existing around a moving body relative to the moving body (S1); estimating a movement amount of the moving body (S2); and correcting the relative position on a basis of the movement amount of the moving body and accumulating the corrected relative position as target position data (S4); characterized by detecting a behavior change amount of the moving body (S3), wherein the behavior change amount includes a rotation amount of the moving body in a pitch direction, a rotation amount of the moving body in a roll direction, or an acceleration/deceleration of the moving body; selecting, from among the accumulated target position data, the target position data of the relative position detected during a period in which the behavior change amount is less than a threshold value (S5); and collating the selected target position data with map information indicating a position on a map of the target to estimate a present position of the moving body (S6), wherein when a period in which the behavior change amount is equal to or more than the threshold value continues for a predetermined length of time or longer, the target position data of the relative position detected during a period other than the period in which the behavior change amount is equal to or more than the threshold value is selected and collated with the map information, and when the period in which the behavior change amount is equal to or more than the threshold value does not continue for the predetermined length of time or longer, the target position data of the relative position detected during the period in which the behavior change amount is equal to or more than the threshold value is included in the target position data to be collated with the map information. <EOS>